Memberi Watermark pada Gambar dengan ImageMagick di Linux
Urusan tempel-menempel logo di ratusan foto kini tidak perlu lagi bikin mouse rusak. Mari kita bahas cara paling geeky nan efisien untuk otomatisasi watermark gambar massal murni menggunakan terminal.
Bagi instansi, fotografer, atau kreator konten digital, menjaga karya sebelum dipublikasikan ke belantara internet adalah sebuah keharusan. Hak cipta perlu dilindungi, dan salah satu cara paling konvensional nan efektif adalah dengan memberikan watermark atau tanda air pada gambar.
Masalahnya muncul saat Anda baru saja pulang dari acara gathering kantor dan harus menempelkan logo instansi di 500 keping foto yang berbeda. Melakukan ini secara manual? Tentu sangat menguras waktu. Banyak desainer beralih menggunakan fitur "Action" di Adobe Photoshop, yang mana memang sangat membantu. Tapi, buat Anda yang kebetulan sedang berada di lingkungan peladen (server) atau beraktivitas harian menggunakan sistem operasi berbasis GNU/Linux, membuka GUI software berat hanya untuk urusan watermark rasanya terlalu berlebihan dan, yah, kurang greget.

Tenang, di ranah open-source, kita punya pesulap tangguh bernama ImageMagick. Ini adalah utilitas pemrosesan gambar lewat command line (CLI) yang kemampuannya nyaris tak terbatas. Dengan menyatukannya bersama skrip Bash sederhana, kita bisa menyulap rutinitas membosankan tadi menjadi operasi otomatis yang selesai dalam hitungan detik. Yo wis, mari kita bedah script-nya.
Skrip Bash untuk Watermark Massal
Skrip di bawah ini dirancang untuk mendeteksi semua file gambar yang didukung (JPG, PNG, GIF) di dalam direktori tempat ia dieksekusi, lalu menempelkan file watermark Anda di atasnya secara presisi.
Peringatan Krusial Sebelum Mengeksekusi
Perlu dicatat dengan tinta tebal: prosedur eksekusi skrip ini memodifikasi berkas sumber secara langsung (in-place). Artinya, foto asli Anda akan ditimpa dengan foto yang sudah ber-watermark. Saya sangat, sangat menyarankan Anda untuk menggandakan (backup) data orisinal Anda ke folder terpisah terlebih dahulu sebelum mencoba skrip ini. Jangan sampai file mentahan yang berharga lenyap tak terselamatkan.
Kode Sumber Skrip
Salin blok kode Bash berikut ini dan simpan. Untuk konfigurasi mendalam, kita akan membahasnya di sub-bagian setelah blok ini.
#!/bin/bash
# Skrip untuk memberi watermark pada semua gambar di direktori saat ini.
# Dependensi: ImageMagick (paket 'imagemagick')
# --- KONFIGURASI ---
# Lokasi file watermark Anda (ganti sesuai path absolut di PC Anda)
WM_FILE="$HOME/Pictures/watermark.png"
# Skala ukuran watermark dalam persen relatif terhadap gambar utama (misal: 25%)
SCALE="25"
# Tingkat transparansi watermark (0 sangat transparan, 100 tidak transparan)
DISSOLVE="50"
# Posisi watermark (center, north, southeast, southwest, dll.)
GRAVITY="southeast"
# --- AKHIR KONFIGURASI ---
# --- EKSEKUSI ---
echo "โ ๏ธ Skrip ini akan menambahkan watermark ke semua gambar di folder ini dan menimpa file aslinya."
read -p "Lanjutkan? (Y/n): " REPLY
if [[ $REPLY =~ ^[Yy]$ ]] || [[ -z $REPLY ]]; then
for IMAGE in *.jpg *.jpeg *.png *.gif; do
# Pastikan yang dilooping benar-benar sebuah file biasa
if [ -f "$IMAGE" ]; then
echo "๐จ Memberi watermark pada: $IMAGE"
# Perintah inti ImageMagick menggunakan tool 'composite'
composite -dissolve ${DISSOLVE}% -gravity ${GRAVITY} -quality 100 \
\( "$WM_FILE" -resize ${SCALE}% \) "$IMAGE" "$IMAGE"
fi
done
echo "โ
Semua gambar selesai diproses!"
else
echo "โ Operasi dibatalkan oleh pengguna."
exit 0
fi
exit 0Membedah Parameter Konfigurasi
Agar hasilnya sesuai dengan selera estetika instansi Anda, perhatikan tiga variabel variabel krusial ini:
SCALE="25": Nilai ini menentukan seberapa besar logo watermark Anda saat ditempel. Angka 25 berarti lebar logo akan diubah ukurannya menjadi 25% dari lebar kanvas foto utamanya. Semakin besar foto asli, logo akan ikut membesar secara proporsional.DISSOLVE="50": Mengontrol opacity. Kalau Anda tidak ingin logonya terlihat terlalu ngejreng sampai menutupi objek utama, angka 50 (setengah transparan) adalah titik manis yang enak dipandang.GRAVITY="southeast": Ini adalah istilah teknis di ImageMagick untuk menentukan koordinat kompas. Southeast berarti tenggara, alias pojok kanan bawah. Jika mau di pojok kiri atas, ganti menjadi northwest. Mau di tengah pas? Gunakan center.
Langkah-langkah Menggunakan Skrip
Setelah Anda memahami isi kodenya, implementasinya di lingkungan Linux sangatlah lugas dan tidak njelimet. Asalkan paket imagemagick sudah terpasang di sistem operasi Anda, ikuti alur kerja ini:
- Buka text editor favorit Anda (bisa
nano,vim, ataugedit), lalu tempelkan kode di atas dan simpan dengan namawatermark.sh. - Edit bagian blok KONFIGURASI di dalam skrip, khususnya pada baris
WM_FILE. Pastikan path mengarah tepat ke lokasi file logo transparan (PNG) Anda. - Pindahkan atau salin file skrip
watermark.shini ke dalam folder spesifik yang berisi tumpukan foto (yang sudah Anda backup!) yang siap dieksekusi. - Buka aplikasi Terminal, arahkan current directory ke folder tersebut (menggunakan perintah
cd), dan ketikkan perintah ajaib ini untuk memberikan hak akses eksekusi:chmod +x watermark.sh - Terakhir, pelatuk skripnya dengan menjalankan perintah:
./watermark.sh
Sistem akan memberikan pertanyaan konfirmasi. Tekan Enter, lalu bersandarlah di kursi sambil melihat terminal Anda berlari menyapu bersih ratusan foto tersebut secara konsisten. Otomatisasi memang selalu terasa memuaskan, bukan?