Indonesian (Bahasa Indonesia) translation by Febri Ardian Sanjoyo (you can also view the original English article) Show Internet akan sangat membosankan tanpa gambar. Namun, mempertahankan dan memanipulasi ratusan atau ribuan gambar untuk situs web Anda bisa bikin sakit kepala. Saat desain situs Anda berubah, Anda mungkin perlu memodifikasi semua gambar Anda — misalnya, Anda mungkin perlu mengonversi semua gambar Anda ke skala abu-abu atau mengubah ukurannya menjadi 50% dari ukuran aslinya. Anda mungkin juga ingin mengkompres atau memotong gambar yang berbeda. Melakukan hal ini secara manual memakan waktu dan rawan kesalahan, tetapi dengan sedikit pengetahuan pemrograman, hal itu dapat dilakukan secara otomatis. Dalam tutorial ini, kita akan belajar tentang GD (Graphic Draw) library di PHP. Anda akan melihat bagaimana library ini dapat digunakan untuk memanipulasi gambar dengan mengubah ukuran, memotong, memutar atau memfilternya. Apa itu GD?PHP dapat melakukan lebih dari sekedar melayani HTML kepada pengunjung. Misalnya, ia memiliki kemampuan untuk memanipulasi gambar. Tidak hanya itu, tetapi Anda juga dapat membuat gambar Anda sendiri dari awal dan kemudian menyimpannya atau menyajikannya kepada pengguna. PHP dapat menangani hampir semua kebutuhan manipulasi gambar dasar Anda menggunakan GD library—kependekan dari Graphic Draw. MempersiapkanJika Anda bekerja pada Windows, Anda dapat menyertakan file php_gd2.dll sebagai ekstensi di php.ini. Jika Anda menggunakan sesuatu seperti XAMPP, Anda akan
menemukan file php_gd2.dll di direktori xampp\php\ext. Anda juga dapat memeriksa apakah GD diinstal pada sistem Anda menggunakan fungsi Anda juga dapat mengunjungi persyaratan dan halaman instalasi untuk mempelajari lebih lanjut tentang proses instalasi. Membuat Gambar Menggunakan PHP GDLangkah pertama menuju manipulasi gambar menggunakan PHP adalah memuatnya ke dalam memori sebagai sumber gambar. Ini dapat dicapai dengan menggunakan fungsi yang berbeda untuk berbagai format. Semua fungsi ini memiliki nama yang sangat mirip sehingga mudah diingat. Membuat Gambar BaruFungsi Memuat File gambarJika Anda berencana memanipulasi gambar yang sudah disimpan di suatu tempat, Anda akan mendapat
manfaat dari menggunakan fungsi seperti Membuat gambar dari StringGD library juga memungkinkan Anda untuk membuat gambar dari string menggunakan fungsi Putar, Skala, Potong, dan Balik GambarBeberapa operasi umum yang mungkin ingin Anda lakukan pada sumber gambar adalah rotasi, penskalaan, pemotongan, dan pembalikan. RotasiAnda dapat memutar gambar yang sudah Anda muat di skrip menggunakan fungsi Penskalaan/scalingSangat mudah untuk menskalakan
gambar menggunakan GD library. Anda hanya harus melewati sumber gambar serta lebar dan tinggi ke fungsi Pemotongan/croppingAnda dapat memotong sumber gambar apa pun menggunakan fungsi Gambar kupu-kupu di atas dipangkas menggunakan kode berikut: $im_php = imagecreatefromjpeg('path/to/image'); $size = min(imagesx($im_php), imagesy($im_php)); $im_php = imagecrop($im_php, ['x' => $size*0.4, 'y' => 0, 'width' => $size, 'height' => $size]); $im_php = imagescale($im_php, 300); Pada dasarnya, kita menyimpan panjang sisi terkecil dalam variabel Membalik gambarGambar dapat dibalik secara horizontal, vertikal atau di kedua arah menggunakan fungsi Gambar kiri atas pada gambar di atas adalah yang asli. Gambar kanan atas dibuat menggunakan Menerapkan filter untuk gambarGD juga memiliki fungsi Sebagai permulaan, tentukan sumber daya gambar dan nama filter yang ingin Anda terapkan. Anda dapat mengaturnya ke salah satu dari 12 jenis filter standar yang disebutkan dalam dokumen.
Beberapa filter
seperti Gambar di sebelah kiri atas adalah asli. Gambar kanan atas dibuat menggunakan COLORIZE filter, bagian kiri bawah dibuat menggunakan GRAYSCALE filter dan gambar di kanan bawah dibuat
menggunakan filter kecerahan. (Gambar kupu-kupu ini ditemukan di Pixabay.) Fungsi Manipulasi Gambar Berguna LainnyaAnda juga harus tahu tentang beberapa fungsi GD umum lainnya yang berguna setiap sekarang dan kemudian. Dapatkan Dimensi GambarAnda dapat menentukan lebar dan tinggi sumber gambar menggunakan fungsi Fungsi lain yang
disebut Menyimpan gambarSetelah Anda membuat semua perubahan yang diinginkan pada suatu gambar, kemungkinan besar Anda
ingin mengolahnya ke browser atau menyimpannya sebagai file. Dalam kedua kasus, Anda harus menggunakan salah satu fungsi output GD seperti Mengubah ukuran semua Gambar dalam DirektoriMari terapkan pengetahuan yang telah kita peroleh sejauh ini untuk melakukan sesuatu yang praktis. Di bagian ini, kita akan mengubah ukuran semua gambar JPEG dalam direktori tertentu untuk memiliki lebar 640 pixel. Ketinggian akan dihitung secara otomatis berdasarkan dimensi gambar asli. Kita akan menyimpan gambar yang diubah ukurannya dalam folder baru berjudul Resized. Semua gambar asli dalam hal ini memiliki dimensi yang sama, tetapi kode akan berfungsi dengan baik dengan gambar yang memiliki semua ukuran dan rasio aspek yang berbeda. $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); } Dalam kode di atas kita mulai dengan menggunakan fungsi Karena semua gambar yang ingin kita ubah ukurannya adalah JPEG, kita menggunakan fungsi Setiap file gambar
asli memiliki -1920x1080 ditambahkan ke nama file mereka untuk menunjukkan dimensinya. Kita menggunakan Terakhir, kita menyimpan gambar yang diubah ukurannya dalam folder bernama Resized dengan nama file baru. Anda juga bisa meneruskan parameter ketiga ke fungsi Terapkan Filter Grayscale dan Contrast pada Setiap Gambar di DirektoriKali ini kita akan menerapkan dua filter berbeda pada setiap gambar di direktori kita dan menyimpan hasil akhir di direktori yang berbeda tanpa membuat perubahan pada nama file. Mari selami kode itu dan saya akan menjelaskan apa yang dilakukan masing-masing fungsi nantinya. $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); } Seperti yang Anda lihat, kita memuat gambar dari direktori
Nature persis seperti yang kita lakukan untuk contoh sebelumnya. Namun, kita akan menggunakan fungsi Perhatikan bahwa Hal penting lainnya yang perlu diingat adalah filter kontras menerima nilai dari -100 hingga 100. Nilai negatif menyiratkan lebih banyak kontras dan nilai-nilai positif menyiratkan kontras yang lebih sedikit. Ini kebalikan dari apa yang diharapkan beberapa orang! Nilai 0 akan meninggalkan gambar untuk tidak berubah. Filter kecerahan di sisi lain memiliki batas minimum dan maksimum -255 dan 255. Nilai negatif dalam kasus ini menunjukkan kecerahan minimum dan nilai positif menunjukkan kecerahan maksimum. Kita
mendapatkan nama file dari path file menggunakan fungsi Pikiran AkhirTujuan dari tutorial ini adalah untuk membuat Anda terbiasa dengan GD library di PHP dan belajar bagaimana menggunakan semua fungsi ini untuk membuat hidup Anda lebih mudah. Anda dapat menggunakan contoh di akhir tutorial sebagai panduan untuk menulis script manipulasi gambar Anda sendiri. Misalnya, Anda dapat mengubah ukuran gambar hanya jika
lebih luas dari batas yang ditentukan dengan menentukan lebar menggunakan fungsi Semua fungsi ini membuka banyak kemungkinan untuk membuat manipulasi gambar lebih mudah dan menghemat banyak waktu pada akhirnya. Jika Anda memiliki pertanyaan terkait tutorial ini, tolong beri tahu saya di komentar. |