1

画像のサイズを変更しているときに、ImagickとGmagickが同じオプションでHDD上に異なるファイルサイズの画像を生成することに気付きました。

$image = new Imagick("c.jpg");
$image->thumbnailImage(260,195); 
$image->writeImage("c_imagick.jpg");

88kbの画像を出力します

$image = new Gmagick("c.jpg");
$image->thumbnailImage(260,195); 
$image->writeImage("c_gmagick.jpg");

15kbの画像を出力します

誰かが何か考えを持っていますか、なぜ違いがとても大きいのですか?

4

1 に答える 1

1

サイズを変更する前に、画像圧縮設定を設定してみてください。

     $image->setImageCompression(Imagick::COMPRESSION_JPEG);
     $image->setImageCompressionQuality(80);

さらに、結果の画像のサイズを確認してください。PHPドキュメントのコメントから、thumbnailImageの自動フィット部分はIMagickで期待されるようには機能しないと思います。

PHPドキュメントから:

thumbmailImageのフィット機能は、予想どおりに機能しません。代わりに、> thisを使用して、最大200x82のサムネイルを作成します。

    // Create thumbnail max of 200x82
    $width=$im->getImageWidth();
    if ($width > 200) { $im->thumbnailImage(200,null,0); }

    $height=$im->getImageHeight();
    if ($height > 82) { $im->thumbnailImage(null,82,0); }
于 2011-11-03T16:19:26.127 に答える