PHP图像编辑(我做错了吗?


PHP Image editing (am I doing it wrong ?)


我需要调整大小并将 7 张图像拼接在一起,为此我使用的是 ImageMagick,但它非常重,需要很长时间才能执行。还有其他我可以使用的较轻库吗?或者也许我的代码是罪魁祸首:

<?php
header('Content-type: image/jpeg');
$thumb = new Imagick();
$thumb->newImage(128*7,128, 'black');
$thumb->borderImage( 'purple', 1, 1 );
$images = new Imagick(glob('*.jpg'));
$counter =0;
foreach($images as $image) {
    // Providing 0 forces thumbnailImage to maintain aspect ratio
    $image->thumbnailImage(128,128, true);
    $thumb->compositeImage($image,Imagick::COMPOSITE_DEFAULT, (128*$counter)+(64-$image->getImageWidth()/2),64-$image->getImageHeight()/2);//echo $image;
    $counter++;
}
$thumb->setImageFormat('jpeg');
echo $thumb;    
?>

更新:
与iPhone应用程序一样,我决定在iPhone本身上进行调整大小和拼接(然后将结果上传到服务器以备将来使用)。

我不使用imagick,而是使用带有php exec()的Imagemagick命令行,您可以使用定义作为"提示"来加快jpg大小调整速度。我相信它只读取足够的输入图像来创建输出图像。

无论如何,几周前在Imagemagick论坛上有一篇关于使用Imagick加速jpg调整大小的帖子,答案是:

$image = new Imagick();
$image->setOption('jpeg:size', '800x532');
$image->readImage('origional.jpg');

我不确定这在您的情况下如何工作,原始线程是:http://www.imagemagick.org/discourse-server/viewtopic.php?f=10&t=20586&hilit=speed

由于我正在编写iPhone应用程序,并且服务器上的资源不足,因此我决定在iPhone方面进行"艰苦"的工作。

丹尼尔