jQuery图片裁剪插件jQuery-photoClip

所属分类:媒体,输入-图像,上传

 27401  92  查看评论 (31)
jQuery图片裁剪插件jQuery-photoClip ie兼容10

一款支持手势的裁图插件插件

由于目前网上很难找到一款支持手势的裁图插件,因此自己动手写了一个。为了快速开发,依赖了很多其他的开源插件。不过目前仅解决需求即可。

依赖插件

  • [jquery.transit.js] 插件 (v1.4 中已经移除了对该插件的依赖)

  • [iscroll-zoom.js] 插件(由于原插件的zoom扩展存在几个bug,所以建议使用demo中提供的iscroll-zoom.js文件,本人已经将这些bug修复)

  • [hammer.js] 插件 

  • [lrz.all.bundle.js] 插件

操作说明

在移动设备上双指捏合为缩放,双指旋转可根据旋转方向每次旋转90度

在PC设备上鼠标滚轮为缩放,每次双击则顺时针旋转90度

使用方法及参数配置简介

<div id="clipArea"></div>
<input type="file" id="file">
<button id="clipBtn">截取</button>
<div id="view"></div>
<script src="js/jquery-2.1.3.min.js"></script>
<script src="js/hammer.min.js"></script>
<script src="js/iscroll-zoom.min.js"></script>
<script src="js/lrz.all.bundle.js"></script>
<script src="js/jquery.photoClip.min.js"></script>
<script>
var clipArea = new bjj.PhotoClip("#clipArea", {
    size: [260, 260], // 截取框的宽和高组成的数组。默认值为[260,260]
    outputSize: [640, 640], // 输出图像的宽和高组成的数组。默认值为[0,0],表示输出图像原始大小
    //outputType: "jpg", // 指定输出图片的类型,可选 "jpg" 和 "png" 两种种类型,默认为 "jpg"
    file: "#file", // 上传图片的<input type="file">控件的选择器或者DOM对象
    view: "#view", // 显示截取后图像的容器的选择器或者DOM对象
    ok: "#clipBtn", // 确认截图按钮的选择器或者DOM对象
    loadStart: function(file) {}, // 开始加载的回调函数。this指向 fileReader 对象,并将正在加载的 file 对象作为参数传入
    loadComplete: function(src) {}, // 加载完成的回调函数。this指向图片对象,并将图片地址作为参数传入
    loadError: function(event) {}, // 加载失败的回调函数。this指向 fileReader 对象,并将错误事件的 event 对象作为参数传入
    clipFinish: function(dataURL) {}, // 裁剪完成的回调函数。this指向图片对象,会将裁剪出的图像数据DataURL作为参数传入
});
</script>

Destroy

clipArea.destroy();


相关插件-图像,上传

  图像
 6259  29

jquery.mgang.small2big

基于jQuery编写的small2big插件
  图像
 6008  15

js获得canvas中指定像素点的颜色

插件可以获得canvas中指定位置像素点的颜色,支持返回多种格式的颜色
  图像
 7378  23

简单功能强大的jQuery图片剪裁插件Image Cropper

相信很多朋友都在大型的网站,如新浪微博、QQ微博上看到过头像裁图工具,感觉很高大尚吧,今天朋友们有福了,今天就来说一说一款这么高大尚的插件cropper,cropper是一款使用简单且功能强大的图片剪裁jQuery插件。该图片剪裁插件支持图片放大缩小,支持鼠标滚轮操作,支持图片旋转,支持触摸屏设备,支持canvas,并且支持跨浏览器使用。
  图像
 6632  58

讨论这个项目(31)回答他人问题或分享插件使用方法奖励jQ币

    只为一次疯狂ING 0
    2017/1/20 12:30:33

    可以上传后台 就把base64编码传到后台 后台解析成二进制就可以了

    回复
    漫步人生 0
    2017/1/10 15:01:14
    13144508295 0
    2017/1/4 11:01:33

    截取之后的图片有的竖过来了

    为什么会自动旋转啊,能默认为横着的吗

    回复
    麦进斗 0
    2016/12/19 19:12:12

    怎么保存剪切的图片,求大神指点

    回复
    平淡才是真?? 0
    2016/12/7 10:12:19
      怎么把截取过来的图片上传到后台啊
        叶落。无痕0
        2016/12/16 12:12:37

        你解决了嘛?我也找不到方法额

        坏掉的苹果1
        2017/1/15 20:53:56

        clipFinish的函数里的dataURL就是图片的base64编码,后台语言应该有相关的方法,你可以针对来找一下。比如php的就有

        $img=base64_decode(str_replace('data:image/png;base64,', '', $imgData));
        file_put_contents('xxx.jpg', $img);
    回复
    mac 0
    2016/11/28 23:11:44
    怎么提出出来保存到后台啊。。大神,跪求方案啊!! 回复
    浪漫帝国 0
    2016/11/17 14:11:53
    楼主在没?为什么我下载下来,用不了? 回复
    梦幻蝴蝶 0
    2016/11/9 11:11:41
    已找到原因,是浏览器兼容的问题,谷歌打开慢但火狐没问题。我研究了一下js也没找到问题出在哪儿,求解!!!!!
        ┵ㄟ伟つ0
        2016/11/23 14:11:01
        大神!现在你的问题解决了吗?如果解决了,咱们可以交流一下,我的邮箱johnba@163.com。谢谢
        怒杀一只鸡0
        2016/11/28 9:11:08
        问题解决了吗
        不卑不亢iiii0
        2016/11/28 11:11:41
        问题解决了吗?
        水晶苹果0
        2016/12/2 16:12:23
        把jquery.photoClip.js第107行"image/*"改为"image/jpg,image/jpeg,image/png"就好了
        落雪飞花0
        2016/12/10 16:12:21
        多谢大神分享~~
    回复
    梦幻蝴蝶 0
    2016/11/9 10:11:01
    请问为什么我下载下来后的插件,点击<input type="file">打开本地文件夹超级慢呢?有没有人遇到类似情况,咋解决呢?有点着急,麻烦有经验的大神帮帮忙~~~ 回复
    丶猪嘞 0
    2016/10/13 15:10:02
    码上先,一会用 回复
取消回复
    PROMULGATOR

    打喷嚏

    火星