PHP で圧縮を使用して PNG を JPG に変換する
質問:
高圧縮は可能ですか? PHP を使用して、品質を維持し、ファイル サイズを削減しながら、高品質の PNG ファイルを JPG に変換しますか?このタスクに使用できるネイティブ PHP 関数またはライブラリはありますか?
答え:
はい、PHP には PNG の変換に使用できる組み込み関数とライブラリがあります。画像をさまざまな圧縮度で JPG 形式に変換します。これを実現するための詳細な説明とサンプル コード スニペットを次に示します。
コード:
<code class="php"><?php // Convert PNG to JPG with transparency preserved in white $filePath = 'your_png_file.png'; $image = imagecreatefrompng($filePath); $bg = imagecreatetruecolor(imagesx($image), imagesy($image)); imagefill($bg, 0, 0, imagecolorallocate($bg, 255, 255, 255)); imagealphablending($bg, TRUE); imagecopy($bg, $image, 0, 0, 0, 0, imagesx($image), imagesy($image)); imagedestroy($image); $quality = 50; // 0 is worst/smaller file, 100 is best/larger file imagejpeg($bg, $filePath . ".jpg", $quality); imagedestroy($bg); ?></code>
説明:
このコードは、透明度情報を保持したまま PNG 画像を JPG に変換する方法を示します。 GD ライブラリを初期化し、PNG 画像をリソースにロードします。空白の画像が同じ寸法で作成され、透明度を処理するために白色で塗りつぶされます。次に、PNG 画像が空の画像にコピーされ、GD ライブラリの imagejpeg 関数を使用して JPG ファイルとして保存されます。
$quality パラメータを使用すると、JPG 出力の圧縮レベルを指定できます。 0 は最悪の品質 (ファイル サイズが最小) を表し、100 は最高の品質 (ファイル サイズが最大) を表します。この値を調整すると、画質とファイル サイズのバランスを制御できます。
以上が品質を維持しながら、PNG ファイルを PHP で圧縮して JPG に変換できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。