图片裁切插件jCrop的使用心得(三)
在这一篇里,我来具体讲讲代码该如何写。
下面是jCrop的初始化代码
//图片裁剪插件Jcrop初始化
function initJcrop() {
// 图片加载完成
document.getElementById('originalImg').onload = function () {
var imgWidth = $("#originalImg").width();
var imgHeight = $("#originalImg").height();
//同时启动裁剪操作,触发裁剪框显示,让用户选择图片区域
jcropObj = $.Jcrop("#originalImg");
jcropObj.setOptions({
//bgColor: 'black',
//bgOpacity: .4,
aspectRatio: imgScale,
boxWidth: imgWidth,
boxHeight:imgHeight,
onChange: showPreview, //当裁剪框变动时执行的函数
onSelect: saveData //当选择完成时执行的函数
});
//创建选框
var selectWidth = imgWidth / 2;
var selectHeight = selectWidth / imgScale;
jcropObj.setSelect([0, 0, selectWidth, selectHeight]);
};
}
注意:
因为图片并不是一开始就有的,而是要用户先上传而后才能显示的,所以我在这里用了onload事件,当图片加载成功时再去初始化jCrop插件。
另外就是为了用户更好的体验,我们先把选框(就是虚线勾勒的裁切框)创建好,这里因为我的图片裁切比例是不固定的,所以用setSelect方法
来生成,裁切框的起点坐标是0,0.
下面是如何获取用户裁切好的参数。
//保存图片裁剪的参数
function saveData(coords) {
//保存图片的参数
var scaleData = {
url:$originalImg.attr("src"),
x1: coords.x,
y1: coords.y,
width: coords.w,
height: coords.h
}
$box.data("sacleData", scaleData);
}
这个方法是在onSelect事件触发时执行,即当选择完成时执行的函数。
这个回调函数会传过来一个coords参数,里面包含了裁切的起始点的坐标和裁切框的宽度和高度。
将这四个数值传递给后台即可,剩下的事情就是后台同事来处理了。
http://www.cnblogs.com/kissdodog/archive/2012/12/21/2827867.html
这里有个哥们用.net后台来实现的图片裁切,如果需要的话可以看看,里面也有demo下载。
那么基本上的jCrop的使用就介绍的差不多了,再下一篇里我将介绍一些这些插件的扩展和遇到的问题。
图片裁切插件jCrop的使用心得(三)的更多相关文章
- 图片裁切插件jCrop的使用心得(四)
在本篇中我来介绍一下jcrop如何实时展现用户裁切的效果图以及在项目中使用该插件注意的问题. 首先,你们在创建头像时,都可以在旁边实时的看到我裁切后的效果图,就如博客园. 这个是如何实现的呢,其实并不 ...
- 图片裁切插件jCrop的使用心得(二)
上一篇简单的介绍了一下开发的背景以及一些学习资料,下面开始介绍如何上手. 一.下载jCrop http://deepliquid.com/content/Jcrop_Download.html 直接去 ...
- 图片裁切插件jCrop的使用心得(一)
之前,项目经理为了提升用户体验让我在之前图片上传功能的基础上实现图片的裁切功能,作为一个前端小白来说听了这个需求心里一紧,毕竟没有做过,于是跟项目经理商量要先做下调研.在一上午的调研中发现了jCrop ...
- jQuery 图片裁剪插件 Jcrop
Jcrop是一个jQuery图片裁剪插件,它能为你的WEB应用程序快速简单地提供图片裁剪的功能.特点如下: 对所有图片均unobtrusively(无侵入的,保持DOM简洁) 支持宽高比例锁定 支持 ...
- 网站开发常用jQuery插件总结(14)图片修剪插件Jcrop
一.插件功能 用于对图片进行修剪.但是在使用Jcrop时,还需要配合服务器端开发语言(如asp.net,php等)使用. 二.官方地址 http://deepliquid.com/content/Jc ...
- 支持移动端裁剪图片插件Jcrop(结合WebUploader上传)
(此教程包括前端实现图片裁剪,后端进行获取裁剪区并保存) 最近有一个需求,微信公众号上传图片,支持自定义裁剪. 以前用过一款裁剪插件cropper,很久没用了,不知道对移动端操作兼容如何,重新从网上搜 ...
- 推荐几款jquery图片切换插件
一.前言 毕业季到了,大家都在匆匆忙忙的记录大学里最美好的时光,照片中各种花式.各种姿势都涌现出来了.这么多的照片怎么展示出来给自己的好友看呢?有人选择做成视频,有人选择ps之后做成图片集,而我选择利 ...
- jQuery 图片剪裁插件使用之 imgAreaSelect
插件主页:http://odyniec.net/projects/imgareaselect/ 官方网站上说明支持的浏览器:The plugin works in all major browsers ...
- Discuz!图片查看插件(支持鼠标缩放、实际大小、旋转、下载)
Discuz!图片查看插件(支持鼠标缩放.实际大小.旋转.下载) 图片查看是网站中的常用功能,用于展示详细的图片.在discuz图片插件的基础上进行了改造,因此这篇文章主要从以下几个方面来讨论图片查看 ...
随机推荐
- EXE文件结构及读取方法
一.EXE文件概念 EXE File英文全名executable file ,译作可运行文件,可移植可运行 (PE) 文件格式的文件,它能够载入到内存中,并由操作系统载入程序运行.是可在操作系统存储空 ...
- [React Native] Reusable components with required propType
In this React Native lesson, we will be creating a reusable Badge component. The component will also ...
- VC 部署
部署是分发要安装到其他计算机上的已完成应用程序或组件的过程. 当使用 Visual C++ 库提供的功能生成 C/C++ 应用程序时,该应用程序在运行时将依赖于那些库的存在. 为了让应用程序运行,它必 ...
- 四、IP地址转换
IP地址与端口 TCP/IP(传输控制协议/网际协议)不是一个协议,而是一组协议的总称,包括IP.TCP.UDP.ICMP.ARP等.它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据 ...
- php开发环境配置 web UI模板
web ui 能快速的整合进来?dwz? easyui? bootstrap 在Apache 中配置: 在http.conf中加入php的设置 #php5_startphpIniDir " ...
- String使用equals方法和==分别比较的是什么?
equals方法和==的区别 首先大家知道,String既可以作为一个对象来使用,又可以作为一个基本类型来使用.这里指的作为一个基本类型来使用只是指使用方法上的,比如String s = &quo ...
- Java基础知识强化之网络编程笔记22:Android网络通信之 Android常用OAuth登录(获取个人信息)
1. 获取百度个人信息(使用Gson解析): 2. 代码案例: (1)工程一览图,如下: (2)activity_main.xml: <LinearLayout xmlns:android=&q ...
- 一致性Hash算法及使用场景
一.问题产生背景 在使用分布式对数据进行存储时,经常会碰到需要新增节点来满足业务快速增长的需求.然而在新增节点时,如果处理不善会导致所有的数据重新分片,这对于某些系统来说可能是灾难性的. 那 ...
- B/S的验证控件
验证控件 首先设置一下框架,设置为.net framework 4.0,在4.5下貌似会报错,设置方法为项目上右键/属性页/找到左侧菜单栏里的生成/将框架版本改为4.0. 一.非空验证:Require ...
- 搭建eclipse+maven+scala-ide的scala web开发环境
http://www.tuicool.com/articles/NBzAzy 江湖传闻,scala开发的最佳利器乃 JetBrains 的神作 IntelliJ IDEA ,外加构建工具sbt 是也. ...