如何使用jCrop和图像干预?

时间:2017-02-06 20:05:30

标签: laravel laravel-5 laravel-5.2

我有这个小提琴我裁剪图像并获得诸如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个参数

1 个答案:

答案 0 :(得分:1)

修改

http://image.intervention.io/api/crop

http://jsfiddle.net/LvsYc/10207/

我认为这应该可以解决问题。

$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');

提示:只需在裁剪之前应用验证,即您正在裁剪的区域位于图像内。