使用jQuery Jcrop 图像裁剪无法更换图片的解决方案
因为公司需求,之前的一个老项目需要完成一个显示屏定制的业务,用户自主上传图片然后在线裁剪的功能,我选择了jQuery Jcrop这个插件。
先看看怎么使用
使用方法
载入 CSS 文件
<link rel="stylesheet" href="jquery.Jcrop.css">
载入 JavaScript 文件
<script src="jquery.js"></script> <script src="jquery.Jcrop.js"></script>
给 IMG 标签加上 ID
<img id="element_id" src="pic.jpg">
调用 Jcrop
$('#element_id').Jcrop();
就不展示具体代码了,最终实现的图需要是这样。
实际操作
重点来了,敲黑板
举个栗子:当你上传一张图片后裁剪,忽然这个时候你发现当前图片可能不适用,当你重新上传图片后,发现裁剪后的图片变了,但是上传的图片没变。如下图
这就很尴尬了,于是我就看上传后的图片地址
可以看下我的标注,其实你重新上传后,原图片地址已经改变了,但是jcorp操作的不是原始的img那个对象了,是jcorp生成的img对象。
这不是玩我么,于是一顿百度谷歌搜索看看有没有大佬遇到过,还是有发现的。
有人说使用jcorp的setImage方法设置图片地址,也有人说把定义的jcrop_api, boundx, boundy变成全局变量(变量名不是固定的, 你定义成什么就用什么)。boundx和boundy是用于记录选择的原始图片尺寸与在弹窗上展现尺寸的缩小/放大比例的,前面的jcrop_api
变量用于获取到所有jcropd 的API。
也不知道是我操作失误,还是就是这个插件年久失修,我用了上面的所有解决方案都是不行。
于是乎我决定另辟蹊径,为何我不上传图片时直接操作jcrop的IMG对象呢?把上传后的图片地址赋值给Jcrop的图片地址。
var reader = new FileReader(); reader.onload = function (evt) { $('#uploadImg').attr("src", evt.target.result) $('#jcropImg').attr("src", evt.target.result) $('#preview').removeClass("hidden"); $('.preview-container').removeClass("hidden"); $(".jcrop-holder img").attr("src",$('#uploadImg').attr("src")) //这里就是直接操作的Jcrop previewNewImg() //裁剪方法 } reader.readAsDataURL(file.files[0]);
ok,大功告成。
总结
偷了个懒,直接使用插件裁剪,但是Jcrop这个裁剪插件最后一次更新是14年,所以说可能遗留了很多问题,虽然是一个骚操作,但是实属无奈之举,有朋友有更好的解决方法请不要吝啬。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python爬虫——你们要的王者荣耀高清图
曾经144区的王者 学了计算机后 头发逐渐从李白变成了达摩 秀发有何用,变秃亦变强 (emmm徒弟说李白比达摩强,变秃不一定变强) 前言 前几天开了农药的安装包,发现农药是.Net实现的游戏 虽然游戏用的语言和排位一样让人恼火 但感觉图片美工还是可以的 比如: 不知...不知道你们是不是和我一样喜欢 玩阴阳师呢,我可是Ssr只有两只狗子的非酋呢 正文 在http://pvp.qq.com/web201605/herolist.shtml可以看到全英雄列表。 按F12查看元素 看到下面这一堆<li></li>标签了吗 里面的href就是每个英雄的详情地址 图片就在这个链接中 拿到selector body > div.wrapper > div > div > div.herolist-box > div.herolist-content > ul > li > a 英雄列表获取源码: 1 def getHeroList(): 2 '''取所以英雄存入list中''' 3 hero = {} 4 res = r...
- 下一篇
一份送给Java初学者的指南
我自己总结的Java学习的系统知识点以及面试问题,目前已经开源,会一直完善下去,欢迎建议和指导欢迎Star: https://github.com/Snailclimb/Java-Guide 笔者建议初学者学习Java的方式:看书+视频+实践(初学最难的问题其实还是在环境) Java学习书籍推荐 《Head First Java.第二版》:可以说是我的Java启蒙书籍了,特别适合新手读当然也适合我们用来温故Java知识点。 《Java核心技术卷1+卷2》:很棒的两本书,建议有点Java基础之后再读,介绍的还是比较深入的,非常推荐。 《Java编程思想(第4版)》:这本书要常读,初学者可以快速概览,中等程序员可以深入看看java,老鸟还可以用之回顾java的体系。这本书之所以厉害,因为它在无形中整合了设计模式,这本书之所以难读,也恰恰在于他对设计模式的整合是无形的。 一些Java方向学习书籍汇总(PDF仅为预览版本,建议购买正版): 链接:https://pan.baidu.com/s/1g0mjyJX5ZWU706IKjDSzeg 密码:b88d Java学习视频推荐 Java工程师学...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- 2048小游戏-低调大师作品
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS关闭SELinux安全模块
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池