关于jcrop裁剪的问题

发布于 2021-11-28 23:30:07 字数 2046 浏览 853 评论 4

请教各位,

上传的图片中,如果按照原始图片来获取裁剪的坐标,是没有问题的,

但是有时图片过大,页面显示不全,在style中增加witdh="100%"的自适应的方式,

但是获取的 x y w h 坐标宽高就不对了,需要得到正确的缩放比例,

那么问题就来了,如何能够拿到这个缩放比例?
----

找到解决方案了,

1、jcrop的api可以拿到实际显示的 w h, 
$('#displayImg').Jcrop({
                    setSelect: [ 20, 60, 200, 200 ],
                    maxSize :[600,600],
                    minSize :[20,20],
                    touchSupport : true,
                      aspectRatio: 1,
                        onSelect: updateCoords
},function(){
api = this;
var ss = api.getBounds();
$('#realW').val(ss[0]);
$('#realH').val(ss[1]);
}
           );

 function updateCoords(c){
        $('#x').val(c.x);
$('#y').val(c.y);
$('#w').val(c.w);
$('#h').val(c.h);  
};

2、html部分,通过隐藏表单向后台传递:
  <form id="coords" target="hid_frame" action="<%=path %>/uploadImg" method="post" data-role="none" enctype ="multipart/form-data">
    <input class="photo-file" type="file" name="imgFile" id="fcupload" onchange="readURL(this);"/>
    <input type="hidden" id="x" name="x" />
<input type="hidden" id="y" name="y"/>
<input type="hidden" id="w" name="w"/>
<input type="hidden" id="h" name="h"/>
<input type="hidden" id="realW" name="realW"/>
<input type="hidden" id="realH" name="realH"/>
    <input type="submit" value="上传" id="upload"/>
    </form>
3、java后台部分,x的比例 = 原图尺寸w/显示尺寸w,y的比例也是如此计算,这里我使用BigDecimal,来处理精度问题; 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

青萝楚歌 2021-11-30 21:22:09

我建义你使shearphoto,是秒杀了
jcrop
 了  自己百度吧,用了shearphoto,其他截图工具,保证你不会再用了

离不开的别离 2021-11-30 21:18:25

如果图片太大,可以在上传时在服务端将图片宽度限制在一定范围内,这样在前台显示就没问题了

为你鎻心 2021-11-30 20:58:21

这个是没问题的,但是如果你是手机浏览的话,不能让图片自适应是不行的,所以如何拿到缩小的比例,或者缩小后的宽度和高度,根据比例再计算一次

感情旳空白 2021-11-30 18:37:41

这问题我也遇到了,我的解决方案是不要对图片设置宽度,让图片自然显示。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文