Menguasai ukuran dan transformasi gambar: mengubah dimensi dengan resize, scale, dan thumbnail, memahami operator rasio aspek, memotong dengan crop, serta mengendalikan rotasi, flip, flop, trim, extent, dan penempatan dengan gravity.

Setelah di episode 3 kalian menguasai konversi format — dari PNG ke JPEG hingga WebP, dengan verifikasi lewat magick identify — sekarang kita masuk ke kemampuan yang paling sering dipakai kedua: mengubah ukuran dan transformasi gambar.
Di dunia nyata, hampir tidak ada sistem yang memakai gambar dalam ukuran aslinya. Foto diubah menjadi thumbnail, hero image di-crop sesuai rasio, logo di-rotate, dan semua itu harus konsisten untuk ribuan file. Episode ini memberi kalian kendali penuh atas dimensi, potongan, dan orientasi gambar.
Opsi -resize menerima geometry — spesifikasi ukuran target. Bentuk paling sederhana adalah persentase dan dimensi pasti:
magick sample.png -resize 50% half.png
magick sample.png -resize 800x600 fit.pngTanpa operator tambahan, 800x600 berarti fit di dalam kotak: gambar diskalakan agar muat di dalam 800x600 dengan rasio aspek tetap — tidak ada peregangan. Inilah perilaku yang paling sering diinginkan.
-resize menjadi jauh lebih kuat dengan operator yang ditempelkan di akhir geometry:
| Geometry | Arti |
|---|---|
800x600 | Fit di dalam kotak, rasio aspek tetap |
800x600^ | Isi kotak minimal, rasio tetap, bisa terpotong |
800x600! | Paksa dimensi persis, rasio bisa berubah |
50% | Skala sesuai persentase |
800x600> | Kecilkan hanya jika lebih besar dari target |
800x600< | Perbesar hanya jika lebih kecil dari target |
magick sample.png -resize 800x600^ crop-fit.png
magick sample.png -resize 800x600! stretch.png
magick sample.png -resize 800x600> shrink-if-large.pngNote
Simbol operator seperti ^ dan ! adalah bagian dari nilai geometry, jadi pastikan selalu dalam satu token tanpa spasi — 800x600^ benar, 800x600 ^ salah. Ketika dipakai di dalam script shell, ada baiknya menaruh geometry dalam tanda kutip: "800x600^" — aman dari kejutan interpretasi shell.
-scale dan -thumbnail: Tiga Saudara Resize| Opsi | Karakteristik |
|---|---|
-resize | Kualitas tinggi, memakai filter resampling |
-scale | Lebih cepat, tanpa filter — hasil lebih kasar pada perbesaran |
-thumbnail | Resize + strip metadata + optimasi, dirancang untuk thumbnail web |
magick sample.png -resize 320x320 resize.png
magick sample.png -scale 320x320 scale.png
magick sample.png -thumbnail 320x320 thumb.png-thumbnail adalah jalan pintas yang cerdas: selain resize, ia membuang metadata (efek -strip) dan memilih pengaturan yang menguntungkan ukuran file. Untuk galeri atau daftar artikel yang butuh banyak thumbnail kecil, -thumbnail hampir selalu pilihan terbaik.
-crop memotong sebagian gambar sesuai geometry WxH+X+Y — lebar, tinggi, lalu offset dari pojok kiri atas:
magick sample.png -crop 300x200+40+30 cropped.pngmagick sample.png -gravity center -crop 400x300+0+0 centered.png-gravity memindahkan titik acuan: dengan center, offset +0+0 berarti crop di tengah gambar. Kombinasi -gravity dan -crop adalah cara paling umum memotong foto untuk rasio tertentu — misalnya membuat cover 16:9 dari foto landscape atau potrait.
Important
Setelah -crop, ImageMagick meninggalkan informasi halaman (offset) pada gambar. Jika offset tidak diinginkan — misalnya untuk PNG yang akan dipakai sebagai layer — tambahkan +repage untuk mereset halaman ke nol: magick sample.png -gravity center -crop 400x300+0+0 +repage out.png.
| Opsi | Efek |
|---|---|
-rotate 90 | Putar 90 derajat searah jarum jam |
-rotate -45 | Putar 45 derajat berlawanan arah jarum jam |
-flip | Cermin vertikal (atas bawah) |
-flop | Cermin horizontal (kiri kanan) |
magick sample.png -rotate 90 rotated.png
magick sample.png -flip flipped.png
magick sample.png -flop flopped.pngSaat memutar dengan sudut yang bukan kelipatan 90 derajat, pojok gambar membentuk area kosong. Isi area itu dengan -background agar tidak berwarna hitam:
magick sample.png -background white -rotate 45 tilted.png-trim memotong border polos di tepi gambar — sangat berguna untuk hasil tangkapan layar atau gambar dengan padding putih:
magick sample.png -trim +repage trimmed.pngUntuk gambar dengan border berwarna yang tidak benar-benar polos, tambahkan -fuzz untuk toleransi warna:
magick sample.png -fuzz 10% -trim +repage fuzzy-trim.pngKebalikannya, -extent menambah kanvas — mengubah ukuran kanvas tanpa menskalakan isi:
magick sample.png -gravity center -background black -extent 800x600 canvas.pngPola -gravity center -extent WxH menghasilkan gambar berkanvas baru dengan isi di tengah — teknik ini dipakai untuk menyeragamkan ukuran dalam grid galeri tanpa merusak rasio aspek aslinya.
Pada episode 4 ini, kalian telah menguasai resize, crop, dan transform: mengubah ukuran dengan -resize, -scale, dan -thumbnail, memahami operator geometry untuk rasio aspek, memotong dengan -crop, serta mengendalikan orientasi dan kanvas dengan -rotate, -flip, -flop, -trim, -extent, dan -gravity.
Inti yang harus dibawa pulang:
-resize menjaga rasio aspek secara default; operator ^, !, %, >, < mengubah perilakunya.-thumbnail adalah pilihan terbaik untuk thumbnail web (resize + strip + optimasi).-crop dengan -gravity adalah pola paling umum untuk memotong ke rasio tertentu.-trim menghilangkan border; -extent menambah kanvas — keduanya sering berpasangan dengan +repage.magick identify setelah transformasi untuk memverifikasi dimensi.Di episode 5 selanjutnya, kita akan membahas colorspace, channel, dan alpha — mengkonversi warna antar colorspace, mengurangi palet dengan -colors dan -posterize, mengatur level, gamma, dan kontras, bekerja per channel dengan -channel, serta mengelola transparansi dengan -alpha, -transparent, dan -channel-fx. Sampai jumpa di episode 5!