Jcrop裁剪图片位置不对

  • Jesse
  • 2016-08-11 16:10:00
  • 2882

在用Jcrop做图片裁剪的时候发现,裁剪后的图片并不是选框选中的
也就是说后台获取到的坐标并不是你想要的。
在网上搜了一通,也没有解决方案,后来仔细一想,
原来在页面布局的时候,将图片设置了最大高宽:max-width和max-height,所以显示的图片并不是图片的实际尺寸,而是浏览器按等比例缩放后的尺寸
将坐标xy和jcrop获取到的宽高都乘以这个缩放比例即可

list($src_w, $src_h, $type) = getimagesize($_POST['src']);
$scaling = $src_w/$_POST['realw'];
imagecopyresampled($dst_r,$img_r,0,0,$_POST['x']*$scaling,$_POST['y']*$scaling,
         $targ_w,$targ_h,$_POST['w']*$scaling,$_POST['h']*$scaling);