1


ImageMagickを使用しているため、7つの画像のサイズを変更してつなぎ合わせる必要がありますが、かなり重く、実行に時間がかかります。他に使用できる軽量ライブラリはありますか?または、おそらく私のコードは非難することです:

<?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自体でサイズ変更とステッチを行うことにしました(その後、将来使用するために結果をサーバーにアップロードします)。

4

2 に答える 2

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

于 2012-04-25T14:42:19.597 に答える
0

私はiPhoneアプリを書いていて、サーバー上のリソースが少ないので、iPhone側で「ハード」な作業を行うことにしました。

ダニエル

于 2012-05-01T18:16:26.613 に答える