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 相关文章推荐
js opener的使用详解
Jan 11 Javascript
利用原生JavaScript获取元素样式只是获取而已
Oct 08 Javascript
javascript中checkbox使用方法实例演示
Nov 19 Javascript
基于JavaScript代码实现微信扫一扫下载APP
Dec 30 Javascript
js获取时间精确到秒(年月日)
Mar 16 Javascript
拥有一个属于自己的javascript表单验证插件
Mar 24 Javascript
百度多文件异步上传控件webuploader基本用法解析
Nov 07 Javascript
一个例子轻松学会Vue.js
Jan 02 Javascript
vue实现类似淘宝商品评价页面星级评价及上传多张图片功能
Oct 29 Javascript
JavaScript实现英语单词题库
Dec 24 Javascript
vscode调试node.js的实现方法
Mar 22 Javascript
vue实现购物车案例
May 30 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网页标题中文乱码的有效解决方法
2014/03/05 PHP
php批量删除数据库下指定前缀的表以prefix_为例
2014/08/24 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
2015/12/14 PHP
详解PHP执行定时任务的实现思路
2015/12/21 PHP
学习PHP Cookie处理函数
2016/08/09 PHP
如何使用php等比例缩放图片
2016/10/12 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
2017/01/12 PHP
PHP+Redis 消息队列 实现高并发下注册人数统计的实例
2018/01/29 PHP
php根据地址获取百度地图经纬度的实例方法
2019/09/03 PHP
关闭浏览器窗口弹出提示框并且可以控制其失效
2014/04/15 Javascript
Javascript中浮点数相乘的一个解决方法
2014/06/03 Javascript
jquery制作 随机弹跳的小球特效
2015/02/01 Javascript
jQuery移动端图片上传组件
2016/06/12 Javascript
javascript轮播图算法
2016/10/21 Javascript
Vue cli+mui 区域滚动的实例代码
2018/01/25 Javascript
详解webpack引入第三方库的方式以及注意事项
2019/01/15 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
2019/10/25 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
解决vue单页面应用打包后相对路径、绝对路径相关问题
2020/08/14 Javascript
JS异步宏队列微队列原理详解
2020/09/09 Javascript
对pandas进行数据预处理的实例讲解
2018/04/20 Python
DataFrame:通过SparkSql将scala类转为DataFrame的方法
2019/01/29 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
Python实现清理微信僵尸粉功能示例【基于itchat模块】
2020/05/29 Python
详解python 内存优化
2020/08/17 Python
Django如何使用asyncio协程和ThreadPoolExecutor多线程
2020/10/12 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
2021/02/06 Python
美国演唱会和体育门票购买网站:Ticketnetwork
2018/10/19 全球购物
教师新年寄语
2014/04/03 职场文书
IT工程师岗位职责
2014/07/04 职场文书
党性观念心得体会
2014/09/03 职场文书
大班下学期幼儿评语
2014/12/30 职场文书
2015年信访维稳工作总结
2015/04/07 职场文书
曾国藩励志经典名言37句,蕴含哲理
2019/10/14 职场文书
vue+echarts实现多条折线图
2022/03/21 Vue.js