JQuery Jcrop 实现图片裁剪的插件

 更新时间:2009年05月26日 01:50:21   作者:  
非常不错的模拟 图片裁剪效果的实现代码,文件都是脚本之家本地的,大家可以直接另存为就可以了。
效果如下图

请“运行代码”先试下运行,运行后请刷新一次,感受下:

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

目前做的这个项目中要用到用户头像功能,领导说最好是做成用户上传一个图片后可以用图像裁剪的方法自己选择头像。同事推荐了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]); //设置选中区域

下载地址:https://www.jb51.net/jiaoben/24768.html

相关文章

  • 鼠标拖动实现DIV排序示例代码

    鼠标拖动实现DIV排序示例代码

    鼠标拖动实现DIV排序的教程有很多,在本文将为大家详细介绍个不错的示例,对比传统的排序,这是一个很不错的尝试
    2013-10-10
  • jQuery中insertAfter()方法用法实例

    jQuery中insertAfter()方法用法实例

    这篇文章主要介绍了jQuery中insertAfter()方法用法,实例分析了insertAfter()方法的功能、定义及匹配的元素插入到另一个指定的元素集合后面的使用技巧,需要的朋友可以参考下
    2015-01-01
  • Jquery实现动态切换图片的方法

    Jquery实现动态切换图片的方法

    这篇文章主要介绍了Jquery实现动态切换图片的方法,涉及jQuery页面元素操作及链式操作的相关技巧,需要的朋友可以参考下
    2015-05-05
  • jQuery插件版本冲突的处理方法分析

    jQuery插件版本冲突的处理方法分析

    这篇文章主要介绍了jQuery插件版本冲突的处理方法,结合具体实例形式分析了jQuery基于noConflict方法解决版本冲突的处理技巧,需要的朋友可以参考下
    2017-01-01
  • PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解

    PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解

    这篇文章主要介绍了PHP+MySQL+jQuery随意拖动层并即时保存拖动位置的实现方法,感兴趣的小伙伴们可以参考一下
    2015-10-10
  • jquery实现Li滚动时滚动条自动添加样式的方法

    jquery实现Li滚动时滚动条自动添加样式的方法

    这篇文章主要介绍了jquery实现Li滚动时滚动条自动添加样式的方法,实例分析了jquery响应鼠标事件及动态添加样式的相关技巧,需要的朋友可以参考下
    2015-08-08
  • jQuery中wrapAll()方法用法实例

    jQuery中wrapAll()方法用法实例

    这篇文章主要介绍了jQuery中wrapAll()方法用法,实例分析了wrapAll()方法的功能、定义及匹配元素的使用技巧,需要的朋友可以参考下
    2015-01-01
  • Jquery从头学起第四讲 jquery入门教程

    Jquery从头学起第四讲 jquery入门教程

    今天主要讲如何给主要的控件赋值,因为在做网站的时候,很多时候需要初始化表单,所有给控件赋值就成必然的了。
    2010-08-08
  • jQuery DOM操作 基于命令改变页面

    jQuery DOM操作 基于命令改变页面

    每天都在与DOM打交道而且晕头转向,不过,自打咱认识了jQuery: 是操作属性也不烦了,插入新元素也不晕了,连移动元素及包装元素咱也不抽筋了。。
    2010-01-01
  • jQuery链使用指南

    jQuery链使用指南

    这篇文章主要介绍了jQuery链使用方法,以及用哪些方法尅控制jQuery链,非常的详细,需要的朋友可以参考下
    2015-01-01

最新评论