jQuery 图像裁剪插件Jcrop的简单使用


Posted in Javascript onMay 22, 2009

同事推荐了Jcrop这个插件,到它的官方站点http://deepliquid.com/content/Jcrop.html下载了最新版的压缩包,压缩包中包括了Jcrop的几个demo文件,关键的Jcrop.js文件和jQuery.Jcrop.css文件。基本上来说参照它的几个demo文件就可以学会使用这个插件了。晚上正好学习研究了下,现简单总结如下,也方便下英文不好的朋友们。
使用插件必须条件:引入jQuery.js文件,引入jQuery.Jcrop.js文件,引入JQuery.Jcrop.css文件。
1.最基本使用方法
html代码部分:

<img src="demo_files/flowers.gif" id="demoImage"/>

js部分:
$( 
function() 
{ 
$("#demoImage").Jcrop(); 
} 
);

这样就可以在图片上进行裁剪了。
2.得到选中区域的坐标以及回调函数
html代码部分如下:
<img src="demo_files/flowers.jpg" id="demoImage" /> 
<label>x1</label><input type="text" id="txtX1" /> 
<label>y1</label><input type="text" id="txtY1" /> 
<label>x2</label><input type="text" id="txtX2" /> 
<label>y2</label><input type="text" id="txtY2" /> 
<label>width</label><input type="text" id="txtWidth" /> 
<label>height</label><input type="text" id="txtHeight" />

js代码部分如下: 
$( 
function() { 
//事件处理 
$("#demoImage").Jcrop( 
{ 
onChange:showCoords, //当选择区域变化的时候,执行对应的回调函数 
onSelect:showCoords //当选中区域的时候,执行对应的回调函数 
} 
); 
} 
); 
function showCoords(c) { 
$("#txtX1").val(c.x); //得到选中区域左上角横坐标 
$("#txtY1").val(c.y); //得到选中区域左上角纵坐标 
$("#txtX2").val(c.x2); //得到选中区域右下角横坐标 
$("#txtY2").val(c.y2); //得到选中区域右下角纵坐标 
$("#txtWidth").val(c.w); //得到选中区域的宽度 
$("#txtHeight").val(c.h); //得到选中区域的高度 
}

3.常用选项设置
aspectRatio:选中区域按宽/高比,为1表示正方形。
minSize:最小的宽,高值。
maxSize:最大的宽,高值。
setSelect:设置初始选中区域。
bgColor:背景颜色
bgOpacity:背景透明度。
allowResize:是否允许改变选中区域大小。
allowMove:是否允许移动选中区域。
举例如下: 
$( 
function() { 
$("#demoImage").Jcrop({ 
aspectRatio: 1, //选中区域宽高比为1,即选中区域为正方形 
bgColor:"#ccc", //裁剪时背景颜色设为灰色 
bgOpacity:0.1, //透明度设为0.1 
allowResize:false, //不允许改变选中区域的大小 
setSelect:[0,0,100,100] //初始化选中区域 
} 
); 
} 
);

4.api用法
var api = $.Jcrop("#demoImage"); 
api.disable(); //设置为禁用裁剪效果 
api.enable(); //设置为启用裁剪效果 
api.setOptions({allowResize:false});//设置相应配置 
api.setSelect([0,0,100,100]); //设置选中区域
Javascript 相关文章推荐
弹出层之1:JQuery.Boxy (一) 使用介绍
Oct 06 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
Aug 28 Javascript
JS远程获取网页源代码实例
Sep 05 Javascript
js控制容器隐藏出现防止样式变化的两种方法
Apr 25 Javascript
jQuery插件pagination实现分页特效
Apr 12 Javascript
js实现表单检测及表单提示的方法
Aug 14 Javascript
jQuery Easyui datagrid/treegrid 清空数据
Jul 09 Javascript
vue实现表格增删改查效果的实例代码
Jul 18 Javascript
Vuex提升学习篇
Jan 11 Javascript
angular实现页面打印局部功能的思考与方法
Apr 13 Javascript
webpack配置打包后图片路径出错的解决
Apr 26 Javascript
vue实现element表格里表头信息提示功能(推荐)
Nov 20 Javascript
document.compatMode介绍
May 21 #Javascript
各种常用浏览器getBoundingClientRect的解析
May 21 #Javascript
简单的js分页脚本
May 21 #Javascript
input+select(multiple) 实现下拉框输入值
May 21 #Javascript
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
May 21 #Javascript
Javascript 兼容firefox的一些问题
May 21 #Javascript
鼠标经过的文本框textbox变色
May 21 #Javascript
You might like
PHP字符串函数系列之nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符br
2011/11/10 PHP
php检查日期函数checkdate用法实例
2015/03/19 PHP
php文件系统处理方法小结
2016/05/23 PHP
PHP按一定比例压缩图片的方法
2018/10/12 PHP
laravel 实现登陆后返回登陆前的页面方法
2019/10/03 PHP
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
JavaScript中实现异步编程模式的4种方法
2014/09/24 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
2015/03/02 Javascript
浅谈利用JavaScript进行的DDoS攻击原理与防御
2015/06/04 Javascript
浅析Javascript中bind()方法的使用与实现
2016/05/30 Javascript
Javascript从数组中随机取出不同元素的两种方法
2016/09/22 Javascript
AngularJS实现DOM元素的显示与隐藏功能
2016/11/22 Javascript
bootstrap中的 form表单属性role=&quot;form&quot;的作用详解
2017/01/20 Javascript
angularjs+bootstrap实现自定义分页的实例代码
2017/06/19 Javascript
使用3D引擎threeJS实现星空粒子移动效果
2020/09/13 Javascript
网页爬虫之cookie自动获取及过期自动更新的实现方法
2018/03/06 Javascript
vue-router重定向不刷新问题的解决
2018/06/25 Javascript
angularjs实现table表格td单元格单击变输入框/可编辑状态示例
2019/02/21 Javascript
解决vuex数据异步造成初始化的时候没值报错问题
2019/11/13 Javascript
[16:56]教你分分钟做大人:司夜刺客
2014/10/30 DOTA
python 快速排序代码
2009/11/23 Python
Python代码调试的几种方法总结
2015/04/15 Python
python处理图片之PIL模块简单使用方法
2015/05/11 Python
Python中使用urllib2模块编写爬虫的简单上手示例
2016/01/20 Python
python3操作微信itchat实现发送图片
2018/02/24 Python
pyinstaller参数介绍以及总结详解
2019/07/12 Python
Django ORM filter() 的运用详解
2020/05/14 Python
html5绘制时钟动画
2014/12/15 HTML / CSS
Allsole美国/加拿大:英国一家专门出售品牌鞋子的网站
2018/10/21 全球购物
Tommy Hilfiger美国官网:美国高端休闲领导品牌
2019/01/14 全球购物
System.Array.CopyTo()和System.Array.Clone()有什么区别
2016/06/20 面试题
机关出纳岗位职责
2014/04/03 职场文书
产品生产计划书
2014/05/07 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书
七个Python必备的GUI库
2021/04/27 Python
python自动化操作之动态验证码、滑动验证码的降噪和识别
2021/08/30 Python