Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Latar Belakang PNG Saya Menjadi Hitam Apabila Menggunakan imagecreatefrompng() dalam PHP?

Mengapa Latar Belakang PNG Saya Menjadi Hitam Apabila Menggunakan imagecreatefrompng() dalam PHP?

Linda Hamilton
Lepaskan: 2024-11-05 16:17:02
asal
352 orang telah melayarinya

Why Does My PNG Background Turn Black When Using imagecreatefrompng() in PHP?

Menyelesaikan Masalah Ketelusan dengan imagecreatefrompng()

Fungsi imagecreatefrompng() PHP biasanya digunakan untuk mencipta lakaran kecil imej. Walau bagaimanapun, pengguna mungkin menghadapi masalah di mana latar belakang telus PNG menjadi warna hitam pejal. Masalah ini boleh mengecewakan, terutamanya apabila mengekalkan ketelusan adalah penting.

Untuk menyelesaikan isu ini, adalah perlu untuk mengubah suai output fungsi imagecreatefrompng() dan mengkonfigurasi tetapan khusus untuk mengekalkan ketelusan. Berikut ialah penjelasan tentang perkara yang perlu diubah:

  1. Selepas fungsi imagecreatetruecolor():

    • Tambah pernyataan suis untuk mengendalikan imej yang berbeza jenis (GIF dan PNG) secara khusus.
    • Untuk imej GIF dan PNG, gunakan imagecolorallocate() untuk mencipta perwakilan integer bagi warna hitam (0,0,0).
    • Gunakan imagecolortransparent( ) untuk mengalih keluar hitam daripada latar belakang pemegang tempat.
    • Lumpuhkan pengadunan alfa menggunakan imagealphablending() dengan hujah palsu.
    • Dayakan penyimpanan maklumat saluran alfa menggunakan imagesavealpha() dengan hujah yang benar.

Pengubahsuaian ini memastikan maklumat saluran alfa dipelihara, menghalang latar belakang lutsinar daripada menjadi hitam. Akibatnya, ketelusan PNG akan dikekalkan dan lakaran kecil akan mencerminkan imej asal dengan tepat.

Atas ialah kandungan terperinci Mengapa Latar Belakang PNG Saya Menjadi Hitam Apabila Menggunakan imagecreatefrompng() dalam 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