Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah saya boleh menukar imej PNG kepada JPG dengan pemampatan dalam PHP sambil mengekalkan kualiti dan meminimumkan saiz fail?

Bagaimanakah saya boleh menukar imej PNG kepada JPG dengan pemampatan dalam PHP sambil mengekalkan kualiti dan meminimumkan saiz fail?

Patricia Arquette
Patricia Arquetteasal
2024-11-01 10:57:30922semak imbas

How can I convert PNG images to JPG with compression in PHP while preserving quality and minimizing file size?

Menukar PNG kepada JPG dengan Pemampatan dalam PHP

Soalan:

Mencari kaedah untuk tukar imej PNG kepada JPG dalam PHP sambil mengekalkan kualiti dan meminimumkan saiz fail. Bagaimanakah ini boleh dicapai?

Jawapan:

PHP menyediakan perpustakaan manipulasi imej yang membolehkan penukaran mudah antara format imej. Begini cara untuk menukar fail PNG kepada JPG dengan pemampatan:

<code class="php">// Convert PNG image to JPG with transparency in white
$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);

// Set compression quality (0=worst, 100=best)
$quality = 50;

// Convert to JPG and save to new file
imagejpeg($bg, $filePath . ".jpg", $quality);
imagedestroy($bg);</code>

Kod ini:

  1. Memuatkan imej PNG.
  2. Mencipta imej baharu dengan latar belakang putih dan piksel lutsinar.
  3. Menyalin imej PNG ke atas putih latar belakang.
  4. Menentukan kualiti mampatan untuk output JPG.
  5. Menukar kepada JPG dan menyimpan hasilnya.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menukar imej PNG kepada JPG dengan pemampatan dalam PHP sambil mengekalkan kualiti dan meminimumkan saiz fail?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn