我需要调整大小并拼接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上进行大小调整和拼接(然后将结果上传到服务器以备将来使用)。
答案 0 :(得分:1)
我不使用imagick但是使用带有php exec()的Imagemagick命令行,你可以使用define作为“提示”来加速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
答案 1 :(得分:0)
当我正在编写iPhone应用程序并且我在服务器上的资源很少时,我决定在iphone上做“硬”工作。
丹尼尔