2

GDやImageMagickなどのライブラリを使用して画像のバッチのサイズを変更し、解像度を維持しながら画像のサイズを縮小する方法があるかどうか疑問に思っていますか?

現在、画像のサイズを(約1000 X 775に)縮小しようとすると、非常に大きな画像(約3500 X 2400 @ 300ppi)から始めていますが、正しいサイズの大きな画像が得られますが、解像度は72ppiに低下します(フォトショップで確認済み)。

$im = new Imagick();
//Initial resolution of image
$im->setResolution(300,300);

$im->readImage('mypdf.pdf');
$im->adaptiveResizeImage(707,1000);

私も使用しました:

$image->resizeImage(707,1000, imagick::FILTER_LANCZOS, 0.9, true);

しかし、結果はほとんど同じになります。前もって感謝します。どんな提案も歓迎します。

ここでの提案を読んだ後、私のコードは今どのように見えるかです

$im = new Imagick();
$im->setResolution(300,300);

$im->readImage('mypdf.pdf');
$im->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH);
$im->adaptiveResizeImage(707,1000);
$im->setResolution(300,300);
$im->setImageFormat( "jpg" );
$originalImageFile = 'myjpg.jpg';
$im->writeImage($originalImageFile);$im->setResolution(300,300);

出力画像の品質は非常に低く、次のようになります。

http://i46.tinypic.com/ehfyf8.jpg

4

2 に答える 2

2

ここで最初のコメントをチェックしてください:

http://php.net/manual/en/imagick.setresolution.php

解像度の設定に加えて、解像度の単位も設定する必要があります。

$im->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH);
于 2012-06-07T14:51:41.510 に答える
0

ディスクに保存する前に、イメージのサイズを変更した後、 setResolution を再度呼び出してみてください。また、Density に関する注意事項については、 ImageMagick のドキュメントを参照してください。

于 2012-06-07T15:02:08.483 に答える