Membuat Watermark Gambar Dengan Codeigniter 4

Tutorial kali ini akan membahas bagaimana membuat watermark gambar menggunakan codeigniter 4.Watermark sendiri biasa digunakan untuk melindungi gambar kita agar tidak diklaim oleh orang lain.

Untuk membuat watermark di codeigniter 4 menggunakan fungsi text.Fungsi text memiliki dua parameter:

text(string $text, array $options = [])
  1. $text berisi text yang ditampilkan
  2. $options berisi konfigurasi seperti warna,ukuran text dll

Untuk contoh penggunaan fungsi text bisa dilihat dibawah ini.

<?php namespace App\Controllers;
class Watermark extends BaseController
{
	public function index()
	{
		$watermark = \Config\Services::image()
        ->withFile(ROOTPATH.'public/uploads/gambar.jpg')
        ->text('MedanInCode', [
            'color'      => '#ffffff',
            'opacity'    => 0,
            'withShadow' => true,
            'shadowColor' =>'#000000',
            'shadowOffset' => 5,
            'hAlign'     => 'center',
            'vAlign'     => 'middle',
            'fontSize'   => 5
        ])
        ->save(ROOTPATH.'public/uploads/watermark_gambar.jpg');
	}
}

Pada kode diatas pertama kita memangil fungsi \Config\Services::image() yang merupakan class untuk memanipulasi gambar dari Codeigniter 4,withFile adalah lokasi dari file gambar asli kita,text adalah fungsi untuk membuat watermark,save untuk menyimpan hasil ke lokasi yang baru.

Untuk $options pada kode diatas berikut penjelasannya.

  1. color parameter untuk warna text harusnya format (hex number).Contoh “#ffffff” untuk putih.
  2. opacity bernilai antara 0 sampai 1,kalau 0 dia tampil penuh kalau 1 tidak akan ditampilkan
  3. withShadow bernilai true atau false,jika true akan menampilkan shadow pada text
  4. shadowColor parameter untuk warna shadow harusnya format (hex number).Contoh “#000000” untuk hitam.
  5. shadowOffset bernilai angka,berguna untuk mengatur jarak shadow dari text.
  6. hAlign perataan text di gambar secara horizontal bernilai : left,center atau right
  7. vAlign perataan text di gambar secara vertical bernilai : top, middle atau bottom
  8. hOffset tambahan offset horizontal text di gambar,misalnya kita tambah 100 dengan hAlign center maka akan jarak 100 pixel ke kanan begitu juga -100 akan ada jarak 100 pixel ke kiri.
  9. vOffset tambahan offset vertical text di gambar,mirip seperti *hOffset hanya beda atas dan bawah.
  10. fontPath digunakan jika ingin menggunakan font custom ,isi dengan lokasi path dari TTF font.
  11. fontSize jika menggunakan handle image bawaan hanya bernilai 1 sampai 5.

Sekian tutorial kali ini ,jika ada pertanyaan silahkan tanyakan.