Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mengekalkan Ketelusan Apabila Mengubah Saiz Imej PNG dengan Perpustakaan GD PHP?

Bagaimanakah Saya Boleh Mengekalkan Ketelusan Apabila Mengubah Saiz Imej PNG dengan Perpustakaan GD PHP?

Linda Hamilton
Lepaskan: 2024-12-09 01:36:12
asal
312 orang telah melayarinya

How Can I Preserve Transparency When Resizing PNG Images with PHP's GD Library?

Memelihara Ketelusan dalam Imej PNG yang Disampel Semula Menggunakan imagecopyresampled GD

Dalam PHP, pustaka GD menyediakan fungsi imagecopyresampled untuk mengubah saiz imej. Walau bagaimanapun, apabila digunakan dengan imej PNG yang mempunyai kawasan lutsinar, ketelusan sering hilang, digantikan dengan warna pepejal.

Untuk menangani isu ini, langkah berikut adalah penting:

  1. Lumpuhkan Pengadunan Alpha:
    Sebelum saiz semula, lumpuhkan pengadunan alfa menggunakan fungsi pembolehubah imej dengan palsu sebagai argumen. Ini menghalang pencampuran warna imej sumber dengan imej sasaran.
  2. Dayakan Penjimatan Alfa:
    Pastikan ketelusan alfa dipelihara dalam imej diubah saiz dengan memanggil imagesavealpha dengan benar sebagai hujah. Ini mengarahkan imej sasaran untuk mengekalkan maklumat ketelusannya.

Berikut ialah coretan kod dikemas kini yang menggabungkan pelarasan ini:

$srcImage = imagecreatefrompng($uploadTempFile);
$targetImage = imagecreatetruecolor(128, 128);
imagealphablending($targetImage, false);
imagesavealpha($targetImage, true);

imagecopyresampled(...);
Salin selepas log masuk

Dengan melaksanakan langkah-langkah ini, imej PNG yang diubah saiz akan memelihara ketelusannya dengan tepat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekalkan Ketelusan Apabila Mengubah Saiz Imej PNG dengan Perpustakaan GD PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan