Dalam pembangunan tapak web, kesan khas imej boleh meningkatkan keindahan halaman, menarik perhatian pengguna dan memberikan pengguna pengalaman yang lebih baik. Sebagai bahasa back-end yang berkuasa, PHP juga menyediakan banyak kaedah untuk mencapai kesan khas imej. Artikel ini akan memperkenalkan kesan imej yang biasa digunakan dalam PHP dan kaedah pelaksanaannya.
Skalakan imej ialah salah satu kaedah biasa untuk mencapai reka bentuk responsif tapak web. Fungsi imagecopyresampled() disediakan dalam PHP untuk melengkapkan operasi penskalaan imej. Prototaip fungsi ini adalah seperti berikut:
bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_w , int $dst_w int $src_w , int $src_h )
Di mana, $dst_image ialah sumber imej sasaran, $src_image ialah sumber imej sumber, $dst_x dan $dst_y ialah kedudukan sudut kiri atas imej sasaran, $src_x dan $scr_y ialah sudut kiri atas imej sumber Kedudukan sudut, $dst_w dan $dst_h ialah lebar dan tinggi imej sasaran, $src_w dan $src_h ialah lebar dan tinggi imej sumber.
Dengan melaraskan nilai $dst_w dan $dst_h, anda boleh mencapai penskalaan imej. Sebagai contoh, untuk mengurangkan imej kepada 50% daripada saiznya, kodnya adalah seperti berikut:
$src_img = imagecreatefromjpeg('test.jpg'); $dst_img = imagecreatetruecolor(imagesx($src_img) / 2, imagesy($src_img) / 2); imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, imagesx($dst_img), imagesy($dst_img), imagesx($src_img), imagesy($src_img)); imagejpeg($dst_img, 'test_resized.jpg', 90); imagedestroy($src_img); imagedestroy($dst_img);
Pangkas imej bermaksud mengalih keluar bahagian tertentu imej sambil mengekalkannya. Dalam PHP, anda boleh menggunakan fungsi imagecrop() untuk melengkapkan operasi pemangkasan imej. Prototaip fungsi ini adalah seperti berikut:
resource imagecrop ( resource $image , array $rect )
di mana $image ialah sumber imej yang akan dipangkas, $rect ialah tatasusunan yang mewakili kawasan tanaman, termasuk Empat elemen ialah koordinat x sudut kiri atas, koordinat y sudut kiri atas, lebar kawasan tanaman dan ketinggian kawasan tanaman.
Sebagai contoh, jika anda ingin memangkas imej ke dalam segi empat sama dan menggunakan bahagian tengah imej sebagai asas untuk memangkas, kodnya adalah seperti berikut:
$src_img = imagecreatefromjpeg('test.jpg'); $src_w = imagesx($src_img); $src_h = imagesy($src_img); $dst_img = imagecrop($src_img, [ $src_w > $src_h ? ($src_w - $src_h) / 2 : 0, $src_w > $src_h ? 0 : ($src_h - $src_w) / 2, min($src_w, $src_h), min($src_w, $src_h) ]); imagejpeg($dst_img, 'test_cropped.jpg', 90); imagedestroy($src_img); imagedestroy($dst_img);
Putaran imej boleh menukar arah dan sudut imej untuk memenuhi keperluan yang berbeza. Dalam PHP, anda boleh menggunakan fungsi imagerotate() untuk melengkapkan putaran imej. Prototaip fungsi ini adalah seperti berikut:
resource imagerotate ( resource $image , float $angle , int $bgd_color [, int $ignore_transparent = 0 ] )
di mana $image ialah imej untuk diputar Sumber, $angle ialah sudut putaran, $bgd_color ialah warna latar belakang, $ignore_transparent menunjukkan sama ada hendak mengabaikan warna lutsinar.
Sebagai contoh, untuk memutar imej 90 darjah lawan jam, kodnya adalah seperti berikut:
$src_img = imagecreatefromjpeg('test.jpg'); $dst_img = imagerotate($src_img, 90, 0); imagejpeg($dst_img, 'test_rotated.jpg', 90); imagedestroy($src_img); imagedestroy($dst_img);
Tanda air imej merujuk kepada imej pada imej Tambah beberapa teks atau imej untuk menunjukkan pemilikan imej, dsb. Dalam PHP, anda boleh menggunakan fungsi imagestring() atau fungsi imagecopy() untuk menambah tera air. Antaranya, fungsi imagestring() boleh digunakan untuk menambah tera air teks Penggunaan khusus adalah seperti berikut:
bool imagestring ( resource $image , int $font , int $x , int $y , string $. string , int $color )
Antaranya, $image ialah sumber imej yang akan ditambah dengan tera air, $font ialah fon, $x dan $y ialah kedudukan teks dalam imej, $string ialah rentetan yang akan dipaparkan, dan $color ialah warna teks.
Sebagai contoh, untuk menambah tera air teks pada penjuru kiri sebelah atas imej, kodnya adalah seperti berikut:
$src_img = imagecreatefromjpeg('test.jpg'); imagestring($src_img, 5, 10, 10, 'Watermark', 0xFFFFFFFF); imagejpeg($src_img, 'test_watermarked.jpg', 90); imagedestroy($src_img);
Di atas adalah beberapa kaedah melaksanakan kesan khas imej dalam PHP. Melalui kaedah ini, anda boleh menambah lebih banyak kesan visual pada halaman web, menjadikan halaman web lebih hidup dan menarik, dan lebih memenuhi keperluan pengguna.
Atas ialah kandungan terperinci Imej kesan khas dalam PHP dan kaedah pelaksanaannya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!