Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menetapkan latar belakang imej menjadi telus dalam php
Apabila reka bentuk tapak web menjadi lebih kompleks, pembangun sentiasa meneroka cara baharu untuk menjadikannya lebih dinamik dan mesra pengguna. Antaranya, menetapkan gambar dengan latar belakang lutsinar digunakan secara meluas dalam halaman web atau aplikasi. Dalam PHP, anda boleh menetapkan latar belakang imej menjadi telus dengan beberapa baris kod yang mudah dan boleh disesuaikan.
Pustaka GD ialah perpustakaan PHP sumber terbuka yang menyediakan satu siri fungsi yang boleh digunakan dalam skrip PHP untuk mengendalikan penjanaan imej dan Operasi untuk menyelesaikan pelbagai tugas. Berikut ialah kod contoh PHP untuk menetapkan latar belakang imej kepada telus:
<?php //读取图片 $filename = 'image.png'; $img = imagecreatefrompng($filename); //设置透明度 imagecolortransparent($img, imagecolorallocatealpha($img, 0, 0, 0, 127)); imagealphablending($img, false); imagesavealpha($img, true); //输出图片 header('Content-Type: image/png'); imagepng($img); //释放内存 imagedestroy($img); ?>
Inti kod ini adalah untuk menggunakan tiga fungsi dalam pustaka GD:
imagecreatefrompng — Cipta PNG sumber imej.
imagecolortransparent — Mengisytiharkan warna sebagai lutsinar. Dua parameter diperlukan, yang pertama ialah sumber imej, dan yang kedua ialah ID warna yang akan diisytiharkan telus.
imagepng — Keluarkan imej PNG.
Barisan kedua kod membaca fail PNG dan baris keempat hingga keenam menetapkan latar belakangnya kepada lutsinar. Di dalamnya, fungsi imagecolorallocatealpha mengembalikan ID warna Selepas menetapkan ketelusan, ia digunakan semula dalam fungsi imagecolorallocatealpha pada baris 6.
Barisan terakhir mengeluarkan imej PNG lutsinar. Dengan mengalih keluar kandungan pengepala, anda boleh menggunakannya sebagai latar belakang halaman.
ImageMagick ialah perisian berkuasa untuk mencipta, mengedit dan menggabungkan imej peta bit, menyediakan baris arahan skala kelabu Degree PNG yang lebih kecil.
Berikut ialah contoh kod Magick imej untuk menetapkan latar belakang imej kepada lutsinar:
<?php //读取图片 $filename = "image.jpg"; $img = new \Imagick($filename); // 贴到一个透明背景上面 $img->evaluateImage(\Imagick::EVALUATE_MULTIPLY, 0.0, \Imagick::CHANNEL_ALPHA); //输出图片 header("Content-Type: image/png"); echo $img; exit; //释放内存 $img->clear(); $img->destroy();
Dalam contoh ini, mula-mula gunakan objek Imagick baharu untuk membuat instantiate imej yang akan dipaparkan. Seterusnya, pada baris keempat, nilai warna dikira melalui fungsi evaluateImage dan ditetapkan kepada telus.
Output hasil fungsi ini (imej lutsinar). Set arahan terakhir digunakan untuk melepaskan imej dan sumber yang digunakannya.
Ringkasan
Tidak kira kaedah yang anda pilih, anda boleh menjadikan latar belakang imej telus dengan hanya beberapa baris kod. Dalam pembangunan web atau apl anda yang seterusnya, cuba salah satu kaedah ini untuk mencipta reka bentuk yang lebih dinamik dan menarik.
Atas ialah kandungan terperinci Bagaimana untuk menetapkan latar belakang imej menjadi telus dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!