「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > PHP で品質と透明性を維持しながら PNG を JPG に変換する方法

PHP で品質と透明性を維持しながら PNG を JPG に変換する方法

2024 年 11 月 22 日に公開
ブラウズ:357

How to Convert PNG to JPG with PHP While Maintaining Quality and Transparency?

品質を維持しながら PHP で PNG を JPG に変換する方法

多くの Web サイトでは、見た目の品質を損なうことなくファイル サイズを削減できるため、JPG 画像を好みます。 PNG ファイルのコレクションがあり、PHP を使用して JPG に変換する必要がある場合は、次の包括的なガイドを参照してください:

PNG から JPG への変換のための PHP 関数とライブラリ

PHP は、画像操作を効率的に処理する関数とライブラリをいくつか提供しています。

imagecreatefrompng(): PNG ファイルを読み込み、画像リソースを作成します。
imagejpeg(): 画像リソースから JPG 画像を出力します。
imagecopy(): 画像リソースの一部をコピーします。
imagedestroy(): 画像に関連付けられたメモリを解放します。 resource.

変換コード スニペット

白を透明にして PNG を JPG に安全に変換するには、次の手順に従ってください:

  1. PNG をロードしますimagecreatefrompng() を使用して画像を作成します。
  2. imagecreatetruecolor() を使用して白で塗りつぶされた True Color 背景画像を作成します。 imagefill().
  3. imagealphablending().
  4. を使用してアルファ ブレンディングを有効にして透明度を保持します。
  5. imagecopy() を使用して PNG 画像を背景画像にコピーします。
  6. 元の PNG を破棄します。 imagedestroy() を使用した画像リソース。
  7. JPG の希望の画質 (0 ~ 100) を設定します。 file.
  8. imagejpeg() を使用して JPG 画像を出力します。
imagedestroy() を使用して背景画像リソースを破棄します。
$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 = worst / smaller file, 100 = better / bigger file
imagejpeg($bg, $filePath . ".jpg", $quality);
imagedestroy($bg);

$image = imagecreatefrompng( $ファイルパス); $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, imagex($image), imagesy($image)); imagedestroy($image); $品質 = 50; // 0 = 最悪 / 小さいファイル、100 = 良い / 大きいファイル imagejpeg($bg, $filePath . ".jpg", $quality); imagedestroy($bg);How to Convert PNG to JPG with PHP While Maintaining Quality and Transparency?

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3