Tutorial ini memperluaskan manipulasi imej Perpustakaan PHP GD asas, membina liputan sebelumnya mengenai pemuatan imej, tanaman, berputar, berskala, dan membalikkan. Kami akan meneroka teknik canggih seperti menangkap aliran output imej dan menyemai air.
Sebelum ini, kami memeriksa imagejpeg()
dan imagegif()
untuk output imej. Kita boleh menangkap output ini menggunakan fungsi seperti imagecreatefromjpeg()
. Sebagai contoh, imagejpeg()
tanpa argumen nama fail mengeluarkan aliran mentah; ob_get_contents()
menangkap aliran ini. Data mentah ini kemudiannya boleh dikodkan oleh Base64. Sebaliknya, rentetan imej yang dikodkan oleh Base64 boleh dikodkan dan digunakan untuk membuat imej melalui imagecreatefromstring()
. Inilah cara untuk menyimpan imej yang dikodkan oleh Base64:
<?php $image_data = base64_decode($image_data_base64); $img = imagecreatefromstring($image_data); imagejpeg($img, 'profile.jpg'); imagedestroy($img); ?>
Decodes The Base64 String, mencipta sumber imej, dan menyelamatkannya sebagai JPEG.
Menambah Watermarks
watermarking mudah dicapai dengan GD. Ini meningkatkan pemilikan imej dan pengiktirafan jenama.
<?php $im_php = imagecreatefromjpeg('waterfall.jpg'); $watermark = imagecreatefrompng('watermark.png'); $im_width = imagesx($im_php); $im_height = imagesy($im_php); $watermark = imagescale($watermark, $im_width/5); $wt_width = imagesx($watermark); $wt_height = imagesy($watermark); imagecopy($im_php, $watermark, 0.95*$im_width - $wt_width, 0.95*$im_height - $wt_height, 0, 0, $wt_width, $wt_height); $new_name = 'waterfall-watermark.jpg'; imagejpeg($im_php, $new_name); ?>
Kod ini memuatkan imej utama dan watermark, menonjolkan watermark ke satu perlima lebar imej utama, dan meletakkannya menggunakan imagecopy()
. Saiz semula watermark dinamik memastikan skala yang betul tanpa mengira dimensi imej utama.
Kesimpulan
Tutorial ini berkembang pada fungsi GD sebelumnya, menunjukkan teknik canggih. Kami meliputi manipulasi aliran dan tanda air, menawarkan aplikasi praktikal untuk pemprosesan imej dalam PHP. Eksperimen dengan fungsi ini untuk menghasilkan kesan imej yang pelbagai.Atas ialah kandungan terperinci Saiz semula dan memanipulasi imej dalam PHP (dengan contoh). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!