2017-12-14 41 views
-2

PHPでimagickを使用してJPEGをPNG形式に変換するコードを実装しています。PHP Imagick JPGからPNGへの変換を最適化する方法

変換によるPNG画像は、元ののJPEGの4倍のです。

オリジナルと似たサイズを得るにはどうすれば最適化できますか?

変換コード:

private function JPG2PNG($path, $newPath) {   
    $image = new Imagick(); 
    $image->getCompressionQuality(); 
    $image->readimage($path); 
    $image->setImageFormat("png32"); 
    $image->setImageCompressionQuality(0); 
    $image->writeImage($newPath); 
    unlink($path); 
} 
+0

を使用することができます;' –

+1

あなたが元に似たサイズを取得することはできません - JPEGとは対照的に、PNGは、ロスレスでありますそれは損失である。しかし、なぜあなたはPNGに変換していますか? – xs0

+0

@ xs0他のサードパーティのスクリプトはPNG画像しか受け付けないので、すべての画像をPNGに変換する必要があります。 –

答えて

0

あなたは元から同様のサイズを取得することはできません。

ここにマニュアルを確認してください:http://php.net/manual/en/imagick.constants.php

はPNGを覚えては、これはJPGとは異なり、実際の画質に影響を与えないロスレス画像です。

画像を変換するのにImagickを使用しても構いませんが、PNGファイルを圧縮する場合はImagickに依存しないでください。代わりにPngCrushを使用してください。

それとも、 `$イメージ - > setImageCompressionQuality(50)で試してみてください。このソースhttp://optipng.sourceforge.net/pngtech/optipng.html

関連する問題