WaterMark itu ibarat label yang digunakan pada gambar atau hal kreatif lainnya oleh pemilik dan memberitahu bahwa dia adalah pemilik benda tertentu. WaterMark sangat berguna dalam era digital di mana sangat banyak penyebaran konten digital dimana saja dan siapa saja dapat menggunakan konten tersebut. Dalam tutorial ini kita akan menambahkan WaterMark di gambar menggunakan PHP. Kamu mungkin juga ingin menambahkan teks ke gambar dengan PHP.
Untuk menambahkan WaterMark di gambar hanya butuh dua langkah:
- Membuat file HTML dan menentukan markup Upload Gambar
- Membuat file PHP untuk menambahkan watermark ke gambar
Langkah 1: Membuat file HTML dan menentukan markup untuk halaman web
Silahkan buat file HTML dulu dan simpan dengan nama index.html
. Halaman ini untuk mengupload gambar.
<!DOCTYPE html> <html> <body> <form method="post" action="proses.php" enctype="multipart/form-data"> <input type="file" name="uploadgbr"> <input type="submit" name="submit" value="Upload"> </form> </body> </html>
Langkah 2: Membuat file PHP untuk menambahkan watermark ke gambar.
Buat file PHP nya dan simpan dengan nama proses.php
.
<?php // Mendapatkan input file dari form if(isset($_POST['submit'])) { $errors = array(); $maxsize = 1048576; //ukuran units dalam bits, berarti 1 megabytes $acceptable = array( //hanya file jpeg dan jpg yang diperbolehkan 'image/jpeg', 'image/jpg' ); // Memeriksa ekstensi file if((!in_array($_FILES['uploadgbr']['type'], $acceptable)) && (!empty($_FILES["uploadgbr"]["type"]))) { $errors[] = 'Tipe file tidak valid. Hanya tipe file jpg dan jpeg yang diperbolehkan.'; } // Memeriksa ukuran file if(($_FILES['uploadgbr']['size'] >= $maxsize) || ($_FILES["uploadgbr"]["size"] == 0)) { $errors[] = 'File terlalu besar. File harus kurang dari 2 megabyte.'; } if(count($errors) === 0) { // Membersohkan nama file dari karakter spesial dan spasi $namafile = $_FILES['uploadgbr']['name']; $namafile = str_replace(' ', '_', $namafile); $namafile = preg_replace('/[^a-zA-Z0-9\'\w.-]/', '-', $namafile); // Berikan path folder Lengkap di mana kamu ingin menyimpan gambar $folder="upload/"; move_uploaded_file($_FILES["uploadgbr"]["tmp_name"], "$folder".$namafile); $file=$folder.$namafile; $uploadgambar=$folder.$namafile; $namabaru=$namafile; // Menetapkan nama thumbnail $thumbnail = $folder."wtm_".$namabaru; $actual = $folder.$namabaru; $namagbr="wtm_".$namabaru; // Memuat gambar utama $source = imagecreatefromjpeg($uploadgambar); // Memuat gambar watermark $watermark = imagecreatefrompng('watermark.png'); // mendapatkan lebar dan tinggi dari gambar watermark $water_width = imagesx($watermark); $water_height = imagesy($watermark); // mendapatkan lebar dan tinggi dari gambar utama $main_width = imagesx($source); $main_height = imagesy($source); // Menetapkan posisi gambar watermark $dime_x = 8; $dime_y = 8; // menyalin kedua gambar imagecopy($source, $watermark, $dime_x, $dime_y, 0, 0, $water_width, $water_height); // pemrosesan akhir, Membuat gambar baru dengan nama file baru imagejpeg($source, $thumbnail, 100); } else { foreach($errors as $error) { echo '<script>alert("'.$error.'");</script>'; } die(); } } ?> <img src='upload/<?php echo $namagbr;?>'>
Dalam langkah ini saya menggunakan library PHP GD untuk menambahkan watermark ke gambar. Pertama, upload gambar ke folder upload
. Dan setelah itu memuat kedua gambar, salah satu gambar tersebut didapatkan dari form upload (index.html) dan gambar lainnya adalah gambar watermark. Kamu bisa menggunakan gambar manapun untuk watermark dari format apapun. Saya menggunakan PNG, dan setelah itu mendapatkan dimensi dari kedua gambar untuk menciptakan satu gambar yang memiliki watermark di dalamnya.
Kemudian kita mengatur dimensi untuk menempatkan watermark pada area tertentu, saya memberi nilai 8 untuk X-axis dan Y-axis untuk menempatkan watermark di pojok kiri-atas gambar. Kamu bisa mengatur koordinat sesuai kebutuhanmu. Dan kemudian kita menggunakan fungsi imagecopy()
untuk menyalin kedua gambar dan untuk membuat satu gambar lagi maka kita gunakan fungsi imagejpeg()
untuk membuat gambar lain dari hasil pemrosesan tersebut. Kita menggunakan fungsi imagejpeg()
agar gambar hasil pemrosesan tersebut menjadi dalam format JPEG.
Itu saja gan, ini adalah cara menambahkan WaterMark di gambar menggunakan PHP. Kamu bisa mengembangkan kode ini lebih lanjut sesuai kebutuhanmu. Kalau ada kesulitan silahkan berkomentar.
terimakasih banyak atas pelajarnnya ini berarti banyak anda menanamkan ilmu dengan sepenuhnya
salam
mengatur ukuran watermark nya gimana om