jQuery图片裁剪插件jQuery-photoClip

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

 123417  495  查看评论 (107)
分享到微信朋友圈
X
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();


相关插件-图像,上传

二维码生成插件qrcode.js

二维码生成插件qrcode.js,在此插件基础上添加了logo图片功能和对中文的支持,无需对中文转码可直接支持生成中文网址二维码
  图像
 28000  374

橡皮擦--图片擦除效果

电脑端、移动端(Android、ios等)都可适应!
  图像
 50752  443

jQuery图片裁剪插件Cropit

Cropit 是款自定义裁剪和缩放图像的jQuery插件
  图像
 43733  341

svgmap地图

svgmap实现中国地图。
  图像
 60163  488

讨论这个项目(107)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

    Purely 0
    2021/1/25 16:30:49
    我点击图片获取 有点问题 jquery.photoClip.js 里面遍历函数有问题
        古子0
        2021/4/22 10:13:42
        源码一百行 那里好像有点问题,会重复执行。 $ok.off('click').click(function () { ... })
    回复
    挽墨亦倾书 0
    2020/7/2 9:47:26
    怎么获取裁减之后的地址啊 回复
    ζ °不好意思我睡炕 0
    2020/3/7 12:13:44
    Uncaught TypeError: URL.createObjectURL is not a function
    at r.init (VM267 lrz.all.bundle.js:1)
    at new r (VM267 lrz.all.bundle.js:1)
    at window.lrz (VM267 lrz.all.bundle.js:1)
    at FileReader.o.onload (VM268 jquery.photoClip.min.js:2)

    请问这个问题怎么解决 选择图片上传不上去
        ζ °不好意思我睡炕0
        2020/3/10 10:30:54
        e(t).then(function(t) {
            j(t.base64)
        }).catch(function(t) {
            alert("图片处理失败"), O.call(this, t)
        })

        这个是e方法找不到

    回复
    暧昧 0
    2019/12/2 11:46:49
    为啥现在不支持在手机上缩放了啊 ,一缩放图片来回跳
        闲里看人忙;0
        2020/2/7 11:20:57
        同跳
        暧昧0
        2020/3/16 14:36:44
        iscroll-zoom.js 这个js需要下载个新版的
        Robert・Liu0
        2021/2/5 17:29:32
        请问新版本在哪里下载的啊
    回复
    ?????? 0
    2019/10/28 17:14:23
    如何初始化啊 有时候会报错 回复
    失意的青春. 0
    2019/3/20 9:22:30
    base64保存到数据库太长了 有没有办法压缩一下再存到数据库
        ??????1
        2019/10/28 17:11:01
        可以base 64 转图片 网上有方法 然后在用formData传
        丫叔叔 ? 2o1?0
        2023/7/12 15:58:12
        直接通过流生成图片保存
    回复
    No Delete 0
    2019/2/22 10:36:57
    这裁完之后图片大小怎么还变大了 回复
    豆腐腦 0
    2019/2/17 18:13:28
    缩放不兼容安卓手机
        ∮Alt+F5=?∮0
        2019/2/26 13:36:26
        你的解决了吗?
        J.0
        2019/3/4 15:36:34
        解决了吗
        J.0
        2019/3/4 15:45:58
        在线等啊
        ヘ迟来的青春¨0
        2019/3/26 11:51:23
        兼容呀
        Jackson_M0
        2019/9/29 18:45:35
        解决了么?
    回复
    limaohui 0
    2019/2/14 9:39:20
    我这里总是报TypeError: returnValue is undefined[详细了解] jquery.photoClip.js:63:3
    TypeError: $.AdminLTE is undefined[详细了解] 回复
    奔跑 0
    2018/12/4 16:01:34
    file: "", 上传图片的有多个dom元素需要调用这个上传图片的插件,怎么判断把截取的图片传给当前的input对应的区域里边 比如:file: "#file1,#file2", view: "#view1,#view2", 这样写可以么, #file1对应传的图片在#view1显示,#file2对应传的图片在#view2显示
        zxcc0
        2019/5/24 14:59:03
        你解决了吗
    回复
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
取消回复