ImageMagick – Mengurangi Ukuran File

Imagemagick Mengurangi Ukuran File



Gambar yang indah dan besar hampir bagus; biasanya disertai dengan kualitas yang luar biasa. Namun, sering kali Anda tidak mampu memiliki gambar yang ukurannya terlalu besar. Kadang-kadang, yang Anda inginkan hanyalah gambar berukuran layak atau bahkan gambar yang kurang dari ukuran tertentu. Dalam kasus seperti itu, semua keinginan programmer adalah cara untuk menemukan jalan tengah antara kualitas dan ukuran. Secara teoritis, jika Anda melepaskan kualitas sama sekali, ukuran file seharusnya tidak menjadi masalah, tetapi masalah sebenarnya adalah menemukan kompromi antara kualitas dan ukuran file. Dalam tutorial ini, kita akan membahas cara untuk mengurangi ukuran file gambar menggunakan ImageMagick (tanpa terlalu banyak mengurangi kualitas).

Menginstal ImageMagick

Kami membutuhkan ImageMagick untuk ini, jadi pertama-tama, mari kita instal:







sudo apt-get instal imagemagick



Saklar Kualitas

Cara pertama dan termudah untuk memperkecil ukuran foto/gambar/video adalah dengan mengurangi kualitas foto. Sakelar kualitas menunjukkan tingkat kompresi JPEG/MIFF/PNG. Untuk JPEG dan MPEG, kualitas 1 mewakili tingkat kompresi tertinggi dan kualitas gambar terendah, sedangkan 100 mewakili tingkat kompresi terkecil dan kualitas terbaik.



Jadi mari kita lihat sebuah contoh; gambar pohon yang saya ambil memiliki resolusi 4624×3468 dan 5,70226MiB. Ini adalah gambar asli, JPEG, lebih spesifik.






Nah, intinya kita ingin memperkecil ukuran gambar. Jadi mari kita coba menyetel pengaturan sakelar kualitas ke sesuatu yang sedikit berbeda dan lihat apa yang terjadi.

konversi tree_4624x3468.jpg -kualitas 75 tree_4624x3468_quality75.jpg
konversi tree_4624x3468.jpg -kualitas 25 tree_4624x3468_quality25.jpg



Saya mengurangi kualitas menjadi 75 untuk satu gambar dan 25 untuk gambar lainnya. Gambar asli berukuran 5,70226MiB, tetapi gambar dengan kualitas 75 menjadi 2,74664MiB sedangkan gambar dengan kualitas 25 menjadi 1358250 (1,295MiB). Di sini, saya pribadi memilih kualitas 75%.



Sekarang, karena kami juga memperhatikan kualitas foto yang sebenarnya, izinkan saya menunjukkan foto-fotonya kepada Anda:


tree_4624x3468_quality75.jpg


tree_4624x3468_quality25.jpg

Seperti yang Anda lihat, kualitasnya tidak terlalu terpengaruh, tetapi ukuran file lebih kecil.

Sekarang, saya mencoba melakukan hal yang sama dengan PNG, dan inilah yang saya dapatkan:


Jadi, dari 23501600B (22.413MiB) menjadi 22.2854MiB. Untuk JPEG, ini berubah dari 5,70226MiB menjadi 1,295MiB. Untuk format non-lossy seperti PNG, pergantian kualitas jauh lebih sulit.

Mengubah Ukuran Gambar

Mengubah ukuran gambar adalah cara lain. Sebagai contoh:

konversi tree_4624x3468.jpg -mengubah ukuran lima puluh % x50 % pohon_4624x3468_resize50 % .jpg



Seperti yang dapat Anda lihat dengan jelas, gambar berukuran 4624×3468 adalah 5,70226MiB, sedangkan gambar berukuran 2312×1734 hanya 1,56287MiB.

Sakelar Tentukan

Sakelar definisi diikuti oleh kunci dan nilai yang diberikan.

-menentukan kunci{=nilai}…

Daftar kemungkinan nilai kunci dapat ditemukan di .

Untuk PNG, Anda dapat menggunakan png:compression-level=value. Nilainya bisa apa saja dari 0 hingga 9. Nilai 0 akan memberi Anda kompresi paling sedikit, tetapi cepat, dan nilai 9 akan memberi Anda kompresi terbaik tetapi paling lambat. Apa pun di antaranya juga berlaku.

Sebagai contoh:

konversi tree_4624x3468.png -mendefinisikan png: tingkat kompresi = 9 pohon_4624x3468_kompresi9.png



Dalam kebanyakan kasus, yang diinginkan programmer adalah menetapkan ukuran maksimum untuk sebuah foto. Jadi, misalkan misalnya Anda ingin menetapkan ukuran maksimum untuk sebuah foto. Anda dapat menggunakan sakelar penentuan untuk melakukan ini.

-mendefinisikan jpeg: luas = {ukuran}

konversi  pohon_4624x3468.jpg -mendefinisikan jpeg: cakupan =1MB tree_4624x3468_extent1MB.jpg



Seperti yang Anda lihat pada gambar di atas, itu mengaturnya ke resolusi 4624×3468 dan ukuran 0,897MiB. Jadi, seperti yang Anda minta, ImageMagick telah membuat foto dengan ukuran kurang dari maksimal 1 MB.

Sakelar Strip

Gambar yang kami ambil dengan kamera dilengkapi dengan Metadata. Menghapus Metadata juga dapat mengosongkan sebagian ruang. Di ImageMagick, kami melakukan ini menggunakan sakelar strip.

konversi tree_4624x3468.jpg -mengupas tree_strip.jpg



Di sini, seperti yang Anda lihat, foto aslinya berukuran 4624×3468 dan 5,7MiB. Tetapi gambar yang Metadatanya telah dilucuti adalah 4,65MiB.

Sakelar ruang warna

Anda juga dapat mencoba mengganti ruang warna. Dalam contoh pertama ini, saya akan mengubahnya menjadi abu-abu.

konversi tree_4624x3468.jpg -ruang warna pohon abu-abu_gray.jpg -kualitas 75



Seperti yang Anda lihat, pengurangan ukuran gambar tidak terlalu besar, tetapi ada pengurangan – dari 5,70226MiB menjadi 4,44997MiB.

Atau, saya juga mencoba yang berikut ini:

konversi tree_4624x3468.png -ruang warna pohon abu-abu_graypng.png



Dalam kasus PNG, foto asli saya, yaitu 4624×3468, adalah 22,42MiB, tetapi ketika saya mengubahnya menjadi abu-abu, menjadi 8,88MiB.

Ganti Warna

Anda juga dapat memilih untuk mengubah jumlah warna yang digunakan. Dalam kasus khusus ini, saya hanya akan menggunakan 16 warna pada PNG.

konversi tree_4624x3468.png -warna 16 pohon_4624x3468_16warna.png



PNG aslinya adalah 4624×3468 dan 22,42MiB. Namun, saat saya mengubah warna menjadi hanya 16, ukuran gambar menjadi 4,27MiB. Dan fotonya terlihat seperti ini:


pohon_4624x3468_16warna.png

Menggunakan Banyak Sakelar

Sekarang, Anda tidak perlu menggunakan satu tombol pada foto! Anda dapat menggabungkan tombol sebanyak yang Anda inginkan pada gambar.

Jadi, dalam contoh 1, saya akan mengambil foto pohon PNG. Foto asli ini berukuran 4624×3468 dan 22,42MiB, dan saya akan menggunakan beberapa sakelar dan melihat ke mana saya dibawa.

konversi tree_4624x3468.png -mengupas -mengubah ukuran 75 % x75 % -mendefinisikan png: tingkat kompresi = 9 -ruang warna abu-abu  pohon_4624x3468_reducedsize.png



Jadi PNG ini, dengan ukuran asli 22,42MiB, berubah menjadi gambar 5,3MiB. Gambar yang dihasilkan sekitar 23% dari ukuran aslinya.

Jadi selanjutnya, mari kita periksa JPG.

konversi tree_4624x3468.jpg -kualitas 75 -mengubah ukuran 75 % x75 % -mengupas -warna 16 pohon_4624x3468_reducedsize.jpg



Jadi, di sini, untuk JPG, kami beralih dari ukuran asli 5,7MiB menjadi sekitar 2,2MiB untuk gambar berwarna.

Tetapi jika tidak diwarnai:

konversi tree_4624x3468.jpg -kualitas 75 -mengubah ukuran 75 % x75 % -mengupas -ruang warna pohon abu-abu_4624x3468_reducedsize.jpg



Di sini, kami beralih dari ukuran asli 5,7MiB menjadi 1,6MiB untuk gambar abu-abu.

Jika Anda mau, Anda juga dapat menetapkan batas maksimal ukuran. Intinya adalah Anda dapat mengurangi ukurannya jika Anda benar-benar menginginkannya.

Kesimpulan

Saat menulis kode untuk tujuan tertentu, kita juga cenderung menggunakan gambar, dan terkadang, kita tidak mampu memiliki gambar yang ukurannya terlalu besar. Dalam kasus seperti itu, fokus utama pemrogram adalah menemukan kompromi antara ukuran gambar dan kualitas gambar. Kami tidak ingin menggunakan gambar yang kualitasnya terlalu rendah, tetapi kami juga tidak mampu membeli gambar berukuran besar. Jadi, kita perlu cara untuk memperkecil ukuran gambar. ImageMagick menawarkan berbagai cara untuk memperkecil ukuran gambar Anda dalam bentuk berbagai sakelar – kualitas, ubah ukuran, tentukan, dll. Anda dapat menggunakan satu atau lebih dari itu untuk menyesuaikan ukuran gambar.