Rumah >pembangunan bahagian belakang >tutorial php >Memanipulasi gambar dalam php menggunakan gd
Tutorial ini meneroka perpustakaan PHP GD (Grafik) untuk manipulasi imej yang cekap. Menguruskan banyak imej laman web boleh mencabar, tetapi GD mengautomasikan tugas seperti mengubah saiz, menanam, dan penapisan.
Panduan ini meliputi:
Apa itu gd?
Perpustakaan GD PHP memberi anda kuasa untuk memanipulasi dan membuat imej secara langsung dalam skrip PHP anda. Ia mengendalikan keperluan pengeditan imej yang biasa.
Persediaan
pada Windows, aktifkan lanjutan php_gd2.dll
dalam fail php.ini
anda (sering terletak di xamppphpext
). Sahkan pemasangan GD menggunakan imagecreatefrompng()
. Fungsi imagecolorsforindex($image, $color)
berguna untuk manipulasi warna yang tepat. Walau bagaimanapun, untuk pelarasan warna yang lebih fleksibel, pertimbangkan untuk bekerja dengan komponen warna individu (merah, hijau, biru) untuk membolehkan toleransi.
Batch Resizing Images
Contoh ini mengubah saiz semua imej JPEG dalam direktori ("Alam/") kepada lebar 640 piksel, secara automatik menyesuaikan ketinggian secara proporsional. Imej saiz diselamatkan ke subdirektori "saiz semula" baru.
$directory = 'Nature/'; $images = glob($directory."*.jpg"); foreach($images as $image) { $im_php = imagecreatefromjpeg($image); $im_php = imagescale($im_php, 640); $new_height = imagesy($im_php); $new_name = str_replace('-1920x1080', '-640x'.$new_height, basename($image)); imagejpeg($im_php, $directory.'Resized/'.$new_name); }Kod ini menggunakan
untuk mencari jpegs, glob()
untuk memuatkannya, imagecreatefromjpeg()
untuk mengubah saiz, dan imagescale()
untuk menyimpan hasilnya. Pelarasan nama fail memastikan kejelasan. imagejpeg()
Batch memohon penapis
Contoh ini menggunakan penapis kelabu dan kontras (-25 untuk peningkatan kontras) kepada semua JPEG dalam "Alam/", menyimpan imej yang ditapis ke subdirektori "kelabu".
$directory = 'Nature/'; $images = glob($directory."*.jpg"); foreach($images as $image) { $im_php = imagecreatefromjpeg($image); imagefilter($im_php, IMG_FILTER_GRAYSCALE); imagefilter($im_php, IMG_FILTER_CONTRAST, -25); $new_name = basename($image); imagejpeg($im_php, $directory.'Grayscale/'.$new_name); }
secara langsung mengubah sumber imej. Perhatikan bahawa nilai kontras berkisar dari -100 hingga 100 (nilai negatif meningkatkan kontras). imagefilter()
Kesimpulan
Perpustakaan GD PHP menawarkan keupayaan manipulasi imej yang kuat, menyelaraskan pengurusan imej laman web dan menjimatkan masa yang cukup. Contoh -contoh yang disediakan sebagai asas untuk mewujudkan skrip pemprosesan imej yang lebih kompleks. Fungsi seperti membolehkan manipulasi imej bersyarat berdasarkan dimensi. imagesx()
Atas ialah kandungan terperinci Memanipulasi gambar dalam php menggunakan gd. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!