The Power of Imagemagick: A Small Yet Functional Image Editor.
Opening
Introduction
Saya sebetulnya sudah pernah membahas imagemagick di artikel yang lain. Tapi, saat itu, imagemagick hanya dibahas sebagai salah satu tool untuk melakukan konversi format file gambar. Nah, di artikel ini, saya akan bahas lebih jauh kegunaan dari imagemagick secara lebih mendalam.
Sebagai informasi saja,
imagemagickadalah software berbasis CLI (Command Line Interface).
Berikut adalah artikel yang saya maksud:

What is imagemagick?
imagemagick adalah sebuah software gratis dan open source yang digunakan untuk meng-edit dan memanipulasi gambar digital. Tool ini dapat digunakan untuk membuat (create), mengedit (edit), menyusun (compose), atau mengkonversi (convert) gambar bitmap, serta mendukung berbagai jenis format file, seperti JPEG, PNG, GIF, TIFF, dan ULTRA HDR.1
Per-artikel ini ditulis, versi imagemagick yang terbaru adalah 7.1.2-29:

Karena tadi saya menyebutkan “gambat bitmap”, maka rasanya saya perlu juga memberi sedikit informasi tentang apa itu “gambar bitmap”.
Gambar bitmap atau gambar raster adalah gambar yang dibentuk berdasarkan susunan piksel warna yang ditampilkan pada layar monitor, kertas, atau media tampilan lainnya.2 Beberapa contoh format file gambar bitmap misalnya GIF, JPEG, BMP, dan PNG.
Methods
Installation
Berikut adalah cara meng-install imagemagick di beberapa sistem operasi UNIX/Linux:
sudo apt install imagemagicksudo pacman -Sy imagemagicksudo zypper install imagemagicksudo dnf install imagemagicksudo pkg install imagemagickMasukkan baris berikut di file konfigurasi (/etc/nixos/configuration.nix):
environment.systemPackages = [ pkgs.imagemagick ];Atau jika menggunakan nix-shell:
nix-shell -p imagemagickimagemagick juga dapat dijumpai di website resminya: https://imagemagick.org/#gsc.tab=0
Atau di repo Github official-nya:
Image Manipulation
Saya sarankan untuk menggunakan (meng-install) imagemagick versi terbaru (7.x) agar dapat menggunakan perintah yang juga terbaru. Sebab, untuk versi lama (6.x) perintah utamanya sedikit berbeda. Selain itu, kita juga bisa menggunakan perintah tersendiri jika ingin melakukan manipulasi banyak gambar sekaligus.
Berikut adalah perbandingan perintah utama imagemagick untuk manipulasi satu gambar dan banyak gambar:
# versi baru (7.x)magick
# versi lama (6.x)convertmogrifyIdentify
Untuk mengidentifikasi format dan karakteristik sebuah file gambar:
magick identify <nama_file>Akan muncul beberapa informasi terkait gambar tersebut, seperti:
- nama file
- format file
- resolusi
- jumlah bit
- ukuran file
- dll
Contoh:

1. Convert
Untuk meng-convert file dari satu format ke format lain, gunakan perintah:3
magick <input_file> <output_file>
2. Resize
a) Change aspec ratio
Untuk me-resize resolusi gambar:4
magick <input_file> -resize [LEBAR]X[TINGGI]! <output_file>Tanda seru (!) pada resolusi ([LEBAR]X[TINGGI]) diperlukan untuk “memaksa” imagemagick agar benar-benar merubah resolusinya sesuai permintaan. Kita bisa saj me-resize tanpa tanda seru, tapi biasanya imagemagick akan berusaha menjaga aspek rasio gambar aslinya sehingga resolusi gambar tidak benar benar berubah.

b) Maintain aspec ratio
Atau kita juga bisa mengecilkan resolusi berdasarkan persen-an, tanpa mengubah aspek rasionya:
magick <input_file> -adaptive-resize 75% <output_file>
3. Reduce
Untuk mengurangi ukuran file gambar:
magick <input_file> -quality 75 <output_file>Quality bervariasi dari 1-100. 1 Artinya kompresi sangat tinggi, tapi kualitas sangat rendah. Sebaliknya, 100 berarti kompresi sangat rendah, tapi kualitas tinggi.

Berbeda dengan resize, dengan reduce, kita hanya mengurangi ukuran file dengan “membuang” beberapa bit-nya tanpa mengecilkan resolusi gambarnya.
4. Crop
Untuk memotong gambar:
magick <input_file> -crop [LEBAR]x[TINGGI]+[X]+[Y][LEBAR]x[TINGGI]: Ukuran area gambar yang ingin diambil.+[X]+[Y]: Koordinat titik awal pemotongan (dimulai dari pojok kiri atas gambar,+0+0)

5. Remove Background
Untuk menghapus warna latar belakang dan membuatnya jadi transparan (lejas):
magick <input_file> -fuzz 10% -transparent white <output_file.png>-fuzz 10%: mengatur toleransi warna. Tingkatkan kalau warna background-nya punya gradien atau bayangan.-transparent white: mengkonversi semua warna terkait (putih) ke transparan (lejas).output_file.png: Kita ubah ke png agar transparansi berhasil.
Kalau kita hanya ingin menghapus warna background di luar subjek:
magick <input_file> -fuzz 15% -fill none -draw "color 0,0 floodfill" <output_file.png>-draw "color 0,0 floodfill": menginisiasi transparansi dari koordinat0,0.-fill none: memintaimagemagickuntuk mengisi background dengan transparansi.output_file.png: Kita ubah ke png agar transparansi berhasil.

Ada banyak lagi fitur-fitur yang memungkinkan kita melakukan manipulasi gambar dengan imagemagick. Kalian dapat melihat daftar kemampuan imagemagick di sini:
Footnotes
Support & Share
If this article helped you, please share or support!












