私は疑問を持っています。imagejpeg で .png ファイルを強制的に保存すると問題はありますか? この例のように:
imagejpeg($img,$_SERVER['DOCUMENT_ROOT']."/test.png",80);
$quality
フィルターが使えるのでこの方法を使いたいです。この方法では、約 25kb の保存された .png ファイルがありますが、imagepng を使用すると、イメージは約 200kb になります (0-9 の $quality レベルを使用しましたが、変更は見られず、-20 kb のみ)。 . 私のウェブサイトは毎秒 .png 画像を生成しているので、間違いを犯したくありません。
方法 2. pngquant で .png 画像を圧縮しようとしましたが、imagepng 関数を使用しているときに圧縮する方法がわかりません。このようなことを試しましたが、画像を関数に渡すとうまくいきません。
ob_start();
imagepng($img);
$png = ob_get_clean();
file_put_contents($_SERVER['DOCUMENT_ROOT']."/test.png", compress($png);
function compresss($img)
{
//...
}
それ以外の場合、私が持っている場合$png = $_FILES['file']['tmp_name']
は機能しています。pngquant で圧縮する方法はありますか、または imagejpeg で .png ファイルを強制的に保存すると問題がありますか?