Jcrop裁剪图片[一] :前端js总结
来源:互联网 发布:医学影像工作站软件 编辑:程序博客网 时间:2024/05/22 06:51
最近项目中有一个截取图片的效果,于是在用到了Jcrop框架,使用中看API然后网上查阅一些文章勉勉强强算完成了这个功能,现将过程总结如下
实现思路
Jcrop来获取截取图片的起点XY和终点xy,另外还有截取范围的wh,--将这些数据传递给服务器端,然后由服务器端相应语言的API进行裁剪或者透明等等操作.
官网URL:
http://code.ciaoca.com/jquery/jcrop/
实现效果如下图:
裁剪后
功能描述
将原图进行固定范围裁剪,然后等比缩小[相应的图片内容要有].将原图缩小并且进行裁剪圆形的操作。因为头像一般用做头像来使用,所以采取200*200的圆形。
说明
下面我贴出来一些code
下面我贴出一些code:<span style="white-space:pre"></span>//插入图片 $('#target-img').html(''); $('#target-img').append('<img id="target" src="'+$scope.updateUserObj.HeadImg+'?rnd='+Math.random()+'" />'); $('.close').click(); $scope.showHeadImg(); <span style="white-space:pre"></span>//声明jcrop裁剪图片 <span style="white-space:pre"></span>$('#target').Jcrop({ onChange: showCoords, onSelect: showCoords, onRelease: clearCoords, setSelect : [0,0,200,200], aspectRatio : 1 },function(){ jcrop_api = this; <span style="white-space:pre"></span> });
响应事件
<script> function changeTable(obj){$('.bootTab').removeClass('active');$(obj).addClass('active');var tabcontent = $(obj).attr('data-target');$('.tab-pane').removeClass('active');$('#'+tabcontent).addClass('active');} function showCoords(c) { $('#x1').val(parseInt(c.x)); $('#y1').val(parseInt(c.y)); $('#x2').val(parseInt(c.x2)); $('#y2').val(parseInt(c.y2)); $('#w').val(parseInt(c.w)); $('#h').val(parseInt(c.h)); }; function clearCoords() { $('#coords input').val(''); };</script>
总结:
Jcrop基本上就是这样了,它靠绑定一个img组件来渲染出来裁剪控件的效果,官网案例中的相应code可以copy过来用,可以获取相应的上文中的起点坐标终点坐标,另外就是宽高了,控制正方体用aspectRatio属性,将属性值设置成1即可。相应的其他属性看官网吧,给的很清楚
问题
Jcrop在运用中往往会出现图片大小的问题,也就是如果图片过大,此时我们用boxWidth或者其他CSS限制了图片本来的像素值,致使图片缩小,这时候选框获取到图片相应的坐标传递到后台的不是图片实际我们想要的坐标,于是裁剪到了并不是我们想要的区域。这时候就要保证我们传递过来的坐标是实时的。而不是选框在缩小图片上的坐标。很多人遇到了这个问题。解决方案来说一般分成2个:个人选择了第一个。。
1、将图片不管大小的显示出来
2、 将图片按照一定比例显示出来,但是传递到后台的时候需要经历一个比例换算。
- Jcrop裁剪图片[一] :前端js总结
- 图片裁剪插件Jcrop.js的使用
- 图片裁剪入门Jcrop
- 图片裁剪 jcrop
- 在线裁剪图片 Jcrop
- 使用jcrop裁剪图片
- jquery插件图片裁剪jcrop
- 图片裁剪插件jcrop用法
- jcrop+ajaxFileUpload+PHP裁剪图片
- html Jcrop+canvas实现前端裁剪图片,并上传到服务器
- 使用JCrop进行图片裁剪,裁剪js说明,裁剪预览,裁剪上传,裁剪设计的图片处理的工具类和代码
- Jcrop图片裁剪插件 参数说明
- MVC使用JCrop上传、裁剪图片
- SpringMVC结合Jcrop实现图片裁剪
- JAVA使用Jcrop做图片裁剪上传
- 使用Jcrop-canvas画布-制作前端图像裁剪
- 关于jcrop图片裁剪插件更换不了图片的问题
- Jcrop插件+Canvas实现图片上传预览+图片裁剪上传
- 【自学引擎第五步】Direcor与Scene、Layer以及Sprite的关系
- NYOJ A Famous Music Composer 25
- 枚举
- PopupWindow 用法 PopupWindow不消失 解决方法
- Android支付接入(一):支付宝
- Jcrop裁剪图片[一] :前端js总结
- 在Android 4.0以下机型上支持webp编码和解码
- char * 与 nsstring 转换
- 读取配置文件数据
- 程序缩小到托盘后系统就无法关机(解决方案)
- 华为说企业使用windows连肉末都吃不到
- 最大流最小割定理
- Eclipse恢复默认设置
- jsonp跨域请求数据实例——手机号码查询