」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何使用 PHP 將 PNG 轉換為 JPG,同時保持品質和透明度?

如何使用 PHP 將 PNG 轉換為 JPG,同時保持品質和透明度?

發佈於2024-11-22
瀏覽:477

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

如何使用PHP 將PNG 轉換為JPG 並保持品質

許多網站更喜歡JPG 圖像,因為它們的檔案大小較小,但不影響視覺品質。如果您有一組PNG 檔案並需要使用PHP 將它們轉換為JPG,這裡有一個綜合指南:

用於PNG 到JPG 轉換的PHP 函數和庫

PHP 提供了多個可以有效處理影像操作的函數和函式庫。

imagecreatefrompng():讀取 PNG 檔案並建立映像resource.
imagejpeg():從映像資源輸出 JPG 映像。
imagecopy():將一張影像的一部分複製到另一張影像上。
imagedestroy():釋放與影像資源相關的記憶體。

轉換程式碼片段

要安全地將PNG 轉換為具有白色透明度的JPG,請按照下列步驟操作:

  1. 使用imagecreatefrompng() 載入PNG 映像。
  2. 建立使用 imagecreatetruecolor() 和 imagefill() 填滿白色的真彩色背景影像。
  3. 啟用 alpha 混合以保持透明度imagealphablending().
  4. 使用 imagecopy() 將 PNG 圖像複製到背景圖像上。
  5. 使用 imagedestroy() 銷毀原始 PNG 影像資源。
  6. 設定所需的影像JPG 檔案的品質 (0-100)。
  7. 使用以下指令輸出 JPG 映像imagejpeg().
  8. 使用 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);
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3