2016-02-25 57 views
1

我到处搜索了两天了,仍然没有帮助。如何使用jQuery Guillotine插件的数据裁剪图像与Imagick

我的项目使用jQuery Guillotine Plugin允许用户在上传到我的PHP服务器之前选择图片大小和位置,但我无法弄清楚根据从前端接收的数据裁剪和缩放图片的正确方法。

这里是我已经试过:

响应我试图用看起来像这样的工作:

{ scale: 0.324, angle: 0, x: 110, y: 34, w: 300, h: 300 } 

那么php代码:

$imagick = Image::make($destination . "/" . $fileName); 
$height = $imagick->height(); 
$width = $imagick->width(); 

$imagick->rotate($req['angle']); 
//using the data recieved after user selection 
$imagick->cropImage((int)$req['w'], (int)$req['h'], (int)$req['x'], (int)$req['y']); 
//Write image to disk 
$imagick->save($destinationPathSmaller . $fileName); 

在这点,图片无法正确显示。我真的不知道该怎么做,这是我的第三天。请帮忙!

谢谢inadvance,

+0

过程中的哪个部分发生故障? 1.他们选择一张图片。 2.)他们改变它的设置。 3.)他们发布图像的设置。 4.)你保存文件。 – Iwnnay

+0

这是点4.)当我想保存文件,我不知道如何裁剪数据,以完全按照用户选择它的方式。 – wizston

+0

你在'$ req'数组中返回的值是什么? – Iwnnay

回答

0

好的,所以我终于搞定了。

我感谢大家,试图帮助,这里是我的情况下,其他人正面临着同样的问题所做的:

使用InterventionImagick的驱动程序。

guillotine API收集您的数据后,处理它并像这样使用它。

$imagick = Image::make($destination . "/" . $fileName); 
$width = $imagick->width() * $req['scale']; 

$imagick->rotate($req['angle']); 
$imagick->widen($width); 

//Crop to desired width and height. 
//Note: the width and height has to be same with what you set on your Guillotine config when instantiating it. 
$imagick->crop($req['w'], $req['h'], $req['x'], $req['y']); 

//Finally, Save your file 
$imagick->save($new_destination . $fileName); 

这应该只是完美的工作。

0

我不知道这是否是在复制和粘贴只是一个不同的,但我认为这可能是图书馆的一个简单的误用。

对于一个。你有这样一行:

$imagick = new Image($destination . "/" . $fileName); 

但他们建议你用

$imagick = Image::make($destination . "/" . $fileName); 

两者之间的区别是,司机是没有得到设置,如果你简单地调用new Image。所以crop方法简单地从AbstractDriver类中反弹出来,并且什么也不做。但你可以拨打Image::make,它会return the driver

如果这似乎并非如此,那么我也注意到您正在使用writeImage。基于变化创建文件的PHP干预方法是->save();。我无法在任何地方找到方法writeImage

+0

这是问题中的错误,我是什么使用是:'$ imagick = Image :: make($ destination。“/”。$ fileName);'但是此刻我没有任何php错误,只是我的图像没有调整我想要的方式。当使用[Imagick](http://phpimagick.com/Imagick)时,我使用'writeImage'保存图像(不是在文档中,而是在工作中)。 – wizston

+0

我不知道。我能想到的唯一的另一件事是图像魔法配置不正确。但那么旋转也不会起作用。 – Iwnnay

+0

我现在有工作,谢谢 – wizston