Cara memperkecil ukuran file gambar
Formulir unggahnya minta di bawah 2 MB, sedangkan foto saya 8 MB. Apa yang sebenarnya harus saya ubah?
Tiga tuas, dan satu di antaranya paling menentukan
Setiap kompresor gambar menarik kombinasi dari tiga tuas: berapa banyak piksel yang dimiliki gambar itu, seberapa banyak detail yang boleh dibuang encoder, dan format apa yang ditulisnya. Orang biasanya langsung meraih slider kualitas karena itulah yang paling dulu ditampilkan setiap alat. Padahal itu biasanya titik awal yang keliru.
Dimensilah yang paling menentukan, karena ukuran file kira-kira sebanding dengan jumlah piksel, dan jumlah piksel sebanding dengan kuadrat ukuran liniernya. Memangkas lebar dan tinggi menjadi setengah menyisakan seperempat piksel. Tidak ada langkah pada slider kualitas yang sebegitu menentukan, dan tidak ada cara lain yang begitu kecil ongkosnya terhadap kualitas yang terlihat — asalkan hasilnya masih lebih besar daripada kotak tempat gambar itu akan ditampilkan.
Hitung berapa piksel yang sebenarnya Anda butuhkan
Kamera ponsel masa kini menghasilkan gambar dengan lebar di kisaran 4000 piksel. Foto layar penuh di laptop ditampilkan pada lebar sekitar 1500 sampai 2000 piksel, dan foto di dalam sebuah artikel sering ditampilkan pada 800 piksel. Mengirim 4000 piksel ke kotak yang hanya menampilkan 800 berarti sekitar 96 persen pikselnya dibuang oleh perangkat lunak pembacanya setelah semuanya selesai diunduh.
| Sisi terpanjang | Perkiraan jumlah piksel | Porsi dari aslinya yang 4000 px |
|---|---|---|
| 4000 px | 10,7 juta | 100% |
| 2560 px | 4,4 juta | 41% |
| 1920 px | 2,5 juta | 23% |
| 1280 px | 1,1 juta | 10% |
| 800 px | 0,4 juta | 4% |
Persentase itu hasil hitungan, bukan pengukuran atas file tertentu — file terkompresi tidak mengecil persis sebanding dengan jumlah pikselnya. Angka-angka itu tetap hal pertama yang layak dilihat, karena menunjukkan seberapa besar ruang yang diberikan proses perubahan ukuran kepada encoder sebelum encoder harus mulai membuang detail.
Apa yang sebenarnya dilakukan slider kualitas
Di dalam encoder JPEG, angka kualitas menskalakan tabel pembagi yang diterapkan pada koefisien frekuensi setiap blok 8×8. Kualitas yang lebih rendah berarti pembagian yang lebih kasar, yang berarti lebih banyak koefisien dibulatkan menjadi nol, yang berarti lebih sedikit bit. Ongkosnya pertama kali terlihat di sekitar tepi yang tajam dan pada gradasi datar: ringing di sebelah teks, dan banding pada langit.
Skalanya tidak linear dan tidak bisa dibandingkan antarformat. Kualitas 80 pada encoder JPEG, encoder WebP, dan encoder AVIF adalah tiga angka yang tidak berhubungan dan kebetulan berbagi rentang yang sama. Nilailah hasilnya dengan melihat gambar itu pada ukuran penuh, bukan dengan memercayai angkanya.
Kenapa ukuran target itu pencarian, bukan pengaturan
Tidak ada encoder yang menerima perintah "jadikan ini 500 KB". Yang diterimanya adalah sebuah pengaturan kualitas, dan hasilnya adalah berapa pun ukuran yang muncul dari pengaturan itu untuk gambar tersebut. Maka alat yang menawarkan ukuran target sebenarnya menjalankan sebuah pencarian: encode, ukur, sesuaikan kualitasnya, encode lagi, dan berhenti ketika hasilnya sudah di bawah batas atau ketika batas bawah kualitas tercapai.
Karena itulah ukuran target selalu bersifat sebisanya. Foto beresolusi tinggi yang penuh detail dan berisik mungkin tidak muat dalam batas yang ketat pada kualitas mana pun yang masih bisa diterima orang, dan respons yang jujur adalah berhenti di batas bawah lalu memberi tahu Anda di mana ia berhenti, bukan terus berjalan sampai gambarnya rusak. Alat ukuran target FileSlimmer menurunkan dimensi lebih dulu, lalu mempersempit kualitas di antara dua batas, dan melaporkan pengaturan terakhir yang dipakainya.
Cara membuat gambar lebih kecil dari 1 MB
Mulailah dengan mengubah ukuran foto ponsel ke dimensi terbesar yang dibutuhkan tempat tujuannya. Untuk email, formulir, dan halaman web biasa, angka itu sering jauh di bawah ukuran asli dari kamera. Lalu buat JPEG atau WebP baru pada kualitas tinggi tetapi bukan maksimum, ukur hasilnya, dan turunkan kualitas sedikit demi sedikit hanya jika filenya masih di atas 1 MB.
Kualitas saja tidak menentukan apakah hasilnya mendarat di bawah 1 MB, karena gambar yang penuh detail butuh lebih banyak data daripada gambar sederhana. Jika percobaan pertama meleset dari batas, turunkan dimensinya sebelum memaksa kualitas turun lebih jauh. Cara ini biasanya menghasilkan gambar yang tampak lebih wajar dibanding mempertahankan setiap piksel lalu menambahkan artefak blok atau ringing yang kentara.
Hal-hal yang tidak membantu
- Memasukkan file ke dalam ZIP. Format gambar terkompresi nyaris tidak menyisakan redundansi yang bisa ditemukan kompresor serbaguna; arsipnya biasanya berukuran nyaris persis sama dengan aslinya.
- Mengganti nama ekstensinya. Byte di dalamnya tidak berubah, dan perangkat lunak yang membaca signature file yang sebenarnya justru akan kebingungan.
- Menyimpan ulang JPEG pada kualitas yang sama. Itu adalah proses lossy kedua: filenya tidak mengecil secara berarti dan gambarnya justru sedikit memburuk.
- Menghapus metadata dari sebuah foto, kalau tujuan Anda hanya ukuran. Beberapa kilobyte EXIF dibanding beberapa megabyte piksel tidak ada artinya. Hapuslah demi alasan privasi, yang memang nyata, bukan demi ukuran.
Alur kerja yang biasanya berhasil
- Tentukan ukuran terbesar gambar itu akan pernah ditampilkan, lalu ubah sisi terpanjangnya ke ukuran tersebut.
- Pilih format yang cocok dengan isinya: format lossy untuk foto, format lossless untuk tangkapan layar dan grafis datar.
- Mulai dari kualitas tinggi tetapi bukan maksimum, lalu turunkan setahap demi setahap sampai kerusakannya terlihat, kemudian naikkan kembali satu tahap.
- Periksa hasilnya pada ukuran penuh, di jenis layar yang memang menjadi tujuannya.
- Kalau masih terlalu besar, kembalilah ke langkah pertama. Hampir selalu ada lebih banyak ruang di dimensi daripada di kualitas.
Di mana cara ini berhenti bekerja
Sebagian gambar menolak semua ini. Dokumen hasil pindai yang penuh teks halus perlu pikselnya tetap terbaca, sehingga mengubah ukuran langsung merusak dan menurunkan kualitas justru menghasilkan persis artefak yang membuat teks sulit dibaca. Tangkapan layar sebuah spreadsheet punya masalah yang sama. Untuk kasus seperti itu, jawaban yang tepat sering kali adalah format lain — lossless, atau PDF — bukan angka kilobyte yang lebih kecil.
Dan kalau sebuah portal menolak file Anda, periksa apakah batasnya ada pada ukuran file atau pada dimensi pikselnya. Keduanya batas yang berbeda, dan file yang lolos salah satunya masih bisa gagal di yang lain.
Alat untuk ini
Sumber
- ITU-T T.81 — quantisation and the JPEG quality scale
- MDN — Image file type and format guide
- MDN — Responsive images and choosing a display width