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 相关文章推荐
Extjs中的GridPanel隐藏列会显示在menuDisabled中解决方法
Jan 27 Javascript
jQuery+.net实现浏览更多内容(改编php版本)
Mar 28 Javascript
jQuery获取CSS样式中的颜色值的问题,不同浏览器格式不同的解决办法
May 13 Javascript
jQuery子窗体取得父窗体元素的方法
May 11 Javascript
JSONP和批量操作功能的实现方法
Aug 21 Javascript
jQuery Validate设置onkeyup验证的实例代码
Dec 09 Javascript
jQuery页面弹出框实现文件上传
Feb 09 Javascript
JS从非数组对象转数组的方法小结
Mar 26 Javascript
浅析js中mvvm模式实现的原理
Oct 06 Javascript
node事件循环和process模块实例分析
Feb 14 Javascript
Vue + Node.js + MongoDB图片上传组件实现图片预览和删除功能详解
Apr 29 Javascript
JavaScript实现简单拖拽效果
Sep 15 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产生动态的影像图
2006/10/09 PHP
php实现的发送带附件邮件类实例
2014/09/22 PHP
PHP实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
php查询操作实现投票功能
2016/05/09 PHP
PHP通过curl获取接口URL的数据方法
2018/05/31 PHP
延时重复执行函数 lLoopRun.js
2007/05/08 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
2013/01/27 Javascript
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
2013/05/07 Javascript
js如何获取兄弟、父类等节点
2014/01/06 Javascript
jQuery html()方法使用不了无法显示内容的问题
2014/08/06 Javascript
onclick和onblur冲突问题的快速解决方法
2016/04/28 Javascript
微信小程序  Mustache语法详细介绍
2016/10/27 Javascript
最细致的vue.js基础语法 值得收藏!
2016/11/03 Javascript
Js利用Canvas实现图片压缩功能
2017/09/13 Javascript
vue实现文字横向无缝走马灯组件效果的实例代码
2019/04/09 Javascript
详解微信小程序-扫一扫 wx.scanCode() 扫码大变身
2019/04/30 Javascript
详解datagrid使用方法(重要)
2020/11/06 Javascript
用Python计算三角函数之atan()方法的使用
2015/05/15 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
详解python算法之冒泡排序
2019/03/05 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
2020/01/08 Python
利用css3-animation实现逐帧动画效果
2016/03/10 HTML / CSS
AmazeUI中模态框的实现
2020/08/19 HTML / CSS
美国在线印刷公司:PsPrint
2017/10/12 全球购物
PHP开发的一般流程
2013/08/13 面试题
函授毕业自我鉴定
2014/02/04 职场文书
精彩的演讲稿开头
2014/05/08 职场文书
月度优秀员工获奖感言
2014/08/16 职场文书
我的未来不是梦演讲稿
2014/09/02 职场文书
2014年社区工作总结
2014/11/18 职场文书
大学生毕业评语
2014/12/31 职场文书
意向协议书
2015/01/27 职场文书
MySql学习笔记之事务隔离级别详解
2021/05/12 MySQL
Django使用echarts进行可视化展示的实践
2021/06/10 Python
MySQL数据库 安全管理
2022/05/06 MySQL
图神经网络GNN算法
2022/05/11 Python