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 相关文章推荐
基于Jquery的文字自动截取(提供源代码)
Aug 09 Javascript
解决js数据包含加号+通过ajax传到后台时出现连接错误
Aug 01 Javascript
Js 导出table内容到Excel的简单实例
Nov 19 Javascript
JS连连看源码完美注释版(推荐)
Dec 09 Javascript
js随机生成26个大小写字母
Feb 12 Javascript
利用jquery制作滚动到指定位置触发动画
Mar 26 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
Jun 04 Javascript
使用watch监听路由变化和watch监听对象的实例
Feb 24 Javascript
vue基础之事件简写、事件对象、冒泡、默认行为、键盘事件实例分析
Mar 11 Javascript
jquery.pager.js分页实现详解
Jul 29 jQuery
使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法
Jul 20 Javascript
详解vue修改elementUI的分页组件视图没更新问题
Nov 13 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 Http_Template_IT类库进行模板替换
2009/03/19 PHP
php session的锁和并发
2016/01/22 PHP
浅谈php中curl、fsockopen的应用
2016/12/10 PHP
PHP addslashes()函数讲解
2019/02/03 PHP
Yii2处理密码加密及验证的方法
2019/05/12 PHP
PHP使用CURL实现下载文件功能示例
2019/06/03 PHP
PHP实用小技巧之调用录像的方法
2019/12/05 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
ASP中进行HTML数据及JS数据编码函数
2009/11/11 Javascript
分享27款非常棒的jQuery 表单插件
2011/03/28 Javascript
javascript parseInt() 函数的进制转换注意细节
2013/01/08 Javascript
jQuery的attr与prop使用介绍
2013/10/10 Javascript
jquery幻灯片插件bxslider样式改进实例
2014/10/15 Javascript
AngularJS实现给动态生成的元素绑定事件的方法
2016/12/14 Javascript
Vue 过渡(动画)transition组件案例详解
2017/01/22 Javascript
微信小程序与webview交互实现支付功能
2019/06/07 Javascript
Vue的全局过滤器和私有过滤器的实现
2020/04/20 Javascript
Vue 3.0 全家桶抢先体验
2020/04/28 Javascript
Vue切换Tab动态渲染组件的操作
2020/09/21 Javascript
js实现简易拖拽的示例
2020/10/26 Javascript
[43:51]2014 DOTA2国际邀请赛中国区预选赛 Dream Times VS TongFu
2014/05/22 DOTA
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
2018/01/30 Python
使用Python生成200个激活码的实现方法
2019/11/22 Python
python画图常规设置方式
2020/03/05 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
Python如何使用27行代码绘制星星图
2020/07/20 Python
运行Python编写的程序方法实例
2020/10/21 Python
英国时尚优质的女装:Hope Fashion
2018/08/14 全球购物
二年级体育教学反思
2014/01/15 职场文书
幼儿园安全责任书
2014/04/14 职场文书
校园绿化美化方案
2014/06/08 职场文书
软件项目经理岗位职责
2015/04/01 职场文书
党员反腐倡廉学习心得体会
2015/08/15 职场文书
2016年小学生寒假总结
2015/10/10 职场文书
fastdfs+nginx集群搭建的实现
2021/03/31 Servers
Pytest中skip skipif跳过用例详解
2021/06/30 Python