我有这个小提琴我裁剪图像并获得诸如x,y,x1,y1,w,h
:
http://jsfiddle.net/LvsYc/2511
现在我想要的是用Image Intervention用这些值保存那个图像,但我不知道我需要用什么函数来传递这些参数。有什么建议吗?
function updateCoords(c)
{
console.log(c);
$('#x').val(c.x);
$('#y').val(c.y);
$('#x2').val(c.x2);
$('#y2').val(c.y2);
$('#w').val(c.w);
$('#h').val(c.h);
};
我试过这样但是说第一个争论必须是整数。
Image::make($image->getRealPath())->crop($w,$h,$w,$h)->save($path. '/' .$filename); but i get an error that crop first argument need to be integer.
我尝试的也是这个,但它保存了全尺寸图像:
Image::make($image->getRealPath())
->rectangle($x1,$y1,$x2,$y2)->save($path. '/' .$filename);
我使用了矩形,因为只有那个函数才能重现4个参数
答案 0 :(得分:1)
修改强>
http://image.intervention.io/api/crop
我认为这应该可以解决问题。
$image = Image::make($request->file('image'));
$crop_box_start_x = intval($request->get('x'));
$crop_box_start_y = intval($request->get('y'));
$crop_box_width = intval($request->get('h'));
$crop_box_height = intval($request->get('w'));
$image = $image->crop($crop_box_width, $crop_box_height, $crop_box_start_x, $crop_box_start_y);
$image->save('path/to/save.png');
提示:只需在裁剪之前应用验证,即您正在裁剪的区域位于图像内。