此页面脚本位于底部,
想象类Imagick,ImagickDraw,ImagickPixel,ImagickPixelIterator
ImageMagick版本ImageMagick 6.5.4-7 2014-02-10 Q16
error_reporting(E_ALL);
ini_set("display_errors", 1);
$im = new Imagick("/home/palirsin/public_html/imagick/ie9.png");
$im->thumbnailImage(200, null);
$im->borderImage(new ImagickPixel("white"), 5, 5);
$reflection = $im->clone();
$reflection->flipImage();
$gradient = new Imagick();
$gradient->newPseudoImage($reflection->getImageWidth() + 10,$reflection->getImageHeight() + 10, "gradient:transparent-black");
$reflection->compositeImage($gradient, imagick::COMPOSITE_OVER, 0, 0);
$reflection->setImageOpacity( 0.3 );
$canvas = new Imagick();
$width = $im->getImageWidth() + 40;
$height = ($im->getImageHeight() * 2) + 30;
$canvas->newImage($width, $height, new ImagickPixel("black"));
$canvas->setImageFormat("png");
$canvas->compositeImage($im, imagick::COMPOSITE_OVER, 20, 10);
$canvas->compositeImage($reflection, imagick::COMPOSITE_OVER,20, $im->getImageHeight() + 10);
header("Content-Type: image/png");
echo $canvas;
给出这张照片的脚本
https://www.alirsin.com/imagick/info.php
但是 true 图片是底部的 http://www.irfansahin.com/imagick/info.php
脚本有什么问题。
答案 0 :(得分:0)
您的代码看起来很好,并且给出了与您在我的机器上所期望的结果类似的结果,这意味着使用导致您出现问题的错误版本的ImageMagick几乎肯定是个问题。
ImageMagick版本6.5.4-7在2009-07-30上发布,这在错误修正方面相当古老。我强烈建议您使用最新版本的ImageMagick,既可以使您的代码正常工作,也可以解决几个安全问题。