1

Imagemagick を使用して PNG 画像のサイズを変更する次のコードがあります。

$im = new imagick("$file");
$im->thumbnailImage($newwidth, $newheight);
$im->writeImage($output);

ただし、これにより、私が知る限り、この方法を使用している間に Imagemagick が作成できる限り小さい画像が生成されますthumbnailimage()

理想的には、画像のサイズを変更し、出力画像の品質をできるだけ高く保ちたいと考えています。この場合、ファイル サイズは実際には問題になりません。PNG のサイズを変更して、できるだけ高い品質を維持できる別の方法はありますか?

4

2 に答える 2

0

サムネイルはサイズ変更と同じですが、すべての EXIF データを取り除いてファイルサイズを小さくします。

$im->setCompressionQuality( 100 ); を追加できます。サイズ変更で別のフィルターを使用することもできますが、これは一部の画像でのみうまく機能します $im->unsharpMaskImage(0 , 0.5 , 1 , 0.05);

于 2012-12-16T11:08:55.060 に答える
0

画像を縮小すると品質が低下することは当然です。ただし、補間を使用してその品質をシミュレートできます。

PHP の GD 拡張imagecopyresampled機能には関数が付属していますが、最高の品質ではありません。ただし、[コメント]imagecopyresampledbicubicで、ネイティブ関数よりもはるかに優れた品質の便利な関数を見つけました。確かに試してみる価値がありそうです。

于 2012-12-15T23:49:11.713 に答える