Saya memiliki 5.000 gambar yang perlu saya kompres (untuk ditampilkan di situs web saya).
Saya baru di Ubuntu. Jadi apa yang saya lakukan?
Saya memiliki 5.000 gambar yang perlu saya kompres (untuk ditampilkan di situs web saya).
Saya baru di Ubuntu. Jadi apa yang saya lakukan?
Jawaban:
Kata "kompresi" tampaknya disalahtafsirkan dalam pertanyaan ini, tetapi belum valid tergantung pada konteks yang Anda inginkan.
Mari kita hadapi bahwa desainer Web, pengembang Web dan / atau master Web perlu "memampatkan" file gambar kami agar cukup "ringan" untuk diunggah dengan cepat ke hosting kami jika kami bekerja langsung di lingkungan produksi nyata. Itu tidak akan berpengaruh jika kita bekerja di lingkungan produksi pengujian lokal.
Banyak jawaban tampaknya merujuk pada hal-hal lain, sebagian besar disebabkan karena -mungkin- mereka belum menghadapi pemandangan seperti itu. Itu sebabnya saya mulai menjelaskan ini.
Begitu. Mari kita pahami apa yang perlu dipecahkan jawabannya:
Pertama-tama mari kita memahami apa yang seharusnya menjadi "gambar ringan".
Gambar Definisi Tinggi, dengan resolusi lebih dari 1024px mungkin memiliki ukuran file besar. Saya memberikan contoh pada tangkapan layar ini:
Di jendela properti file kita bisa melihat ini adalah file 9,5 MB, yang akan menunda banyak untuk mengunggah dan akan menunda banyak untuk membuat di layar ketika dipublikasikan di situs web.
Namun demikian, ukuran gambar dan resolusi grid sangat berguna untuk pencetakan definisi tinggi. Jadi itu pemandangan berbeda yang tidak akan saya bahas dalam penjelasan ini.
Jadi, bagaimana saya bisa menggunakan gambar ini di situs web, tanpa menunggu bertahun-tahun untuk mengunggah dan menunggu beberapa tahun lain untuk menampilkannya di situs web saya?
Dan ketika kita berbicara tentang "kompresi" kita secara eksplisit perlu mengubah kualitasnya agar dapat digunakan untuk kasus yang kita hadapi.
Jadi, mari kita letakkan yang berikutnya di terminal:
convert seminario-tabloide.png test.jpg
Ini akan mengubah format PNG definisi tinggi menjadi format JPG "terkompresi", yang dengan sendirinya adalah file yang lebih kecil! Mulai dari 9,5 MB menjadi 2,4 MB.
Tapi, 2,4 MB belum menjadi ukuran file besar. Sekarang mari kita bermain dengan beberapa perintah konversi ImageMagick lain untuk membuat ukuran file yang lebih kecil:
convert test.jpg -quality 50% test-50p.jpg
Inilah yang perlu kita lakukan untuk "memampatkan" gambar. Ini akan mengurangi kualitas gambar sebesar 50% dan menghasilkan 938,4 KB <=== (Catatan: KILOBYTES, bahkan Megabita) ukuran file.
Kita dapat melangkah lebih jauh dan membuat ukuran file yang lebih kecil dengan menyesuaikan persentase dalam perintah yang sama melalui:
convert test.jpg -quality 30% test-30p.jpg
Harap diingat bahwa dalam contoh ini kami mengurangi kualitas file, bukan dimensi gambar. Yang akan menghasilkan file terkompresi yang tidak terpengaruh secara visual saat ditampilkan di layar, tetapi Anda akan melihat artefak saat mencetak dalam ukuran kertas besar (lebih besar dari huruf).
Sekarang. Kita dapat melakukan hal yang berbeda. Beberapa hal memang: Kita pertama-tama dapat mengubah ukuran gambar dan menerapkan kompresi setelah itu, yang akan menghasilkan ukuran file lebih kecil dari aslinya, dan akan memberikan gambar yang berguna untuk rendering di layar, tidak begitu baik untuk dicetak tetapi sepertinya kita perlu menampilkannya di layar dan tidak di spanduk dicetak, kan?
Jadi mari kita lakukan ini:
convert seminario-tabloide.png -resize 1024x test-1024x.jpg
Dengan instruksi ini, kami meminta ukuran gambar diubah menjadi 1024 piksel dengan jumlah piksel yang dibutuhkan agar tidak kehilangan rasio aspek.
Sekarang ... coba tebak?
Ukuran file berkurang dari 9,5 MB menjadi ... (harap tunda musik dengan congas) 433.7 KILOBYTES
Jika kami ingin kompres maksimum file terkompresi maksimum seperti ini, kami akan menghadapi beberapa data overhead yang dimasukkan dalam file dan itu akan menghasilkan ukuran file yang lebih besar. Jadi saya tidak akan menyarankan Anda untuk mencoba tetapi jika Anda mengharapkan saya untuk melakukan contoh, ok ... Ini dia!
convert test-1024x.jpg -quality 50% test-1024x-50p.jpg
Dan kami beralih dari 433,7 KB menjadi 176,2 KB dalam satu perintah. Contoh ini berhasil, namun jangan berharap ada latihan yang menghasilkan ukuran file yang lebih kecil. Tetapi Anda bisa bersenang-senang saat menjalankan latihan semacam ini.
Oh! Tapi saya hampir lupa salah satu kebutuhan: Untuk menerapkan proses ini ke banyak gambar dengan mudah.
Untuk hal seperti itu kita dapat melakukannya dengan dua proses.
Ini lebih cepat, dan lebih mudah. Jadi mari kita beri tahu terminal kita perlu menjalankan instruksi yang sama di semua file dalam direktori, setelah itu saya akan menjelaskan instruksi lain.
Konversi semua ke 1024px (Anda dapat menggunakan jumlah piksel apa pun)
for i in *; do convert $i -resize 1024x $i-1024x.jpg; done;
Di sini kami meminta perintah untuk menjalankan instruksi yang sama untuk semua file dalam direktori, menerapkan transformasi dan menjatuhkan salinan dengan nama yang berbeda untuk membuatnya mudah untuk dipilih.
Kurangi kualitas dengan persentase (gunakan persentase yang Anda inginkan) untuk semua gambar dalam direktori:
for i in *-1024x.jpg; do convert $i -quality 50% $i-50p.jpg; done;
Di sini kami meminta gambar yang sudah diubah ukurannya dikurangi kualitasnya agar ukuran filenya lebih kecil.
Anda dapat bermain dengan perintah ini dan melihat hasil Anda. Setelah beberapa jam bersenang-senang, Anda akan menjadi ahli.
Pada 20 April 2015 saya menghadapi situasi seperti pertanyaan awal, jadi saya harus melakukan riset dan meminta bantuan pada pertanyaan. Itu sebabnya sekarang saya tahu banyak tentang ini. Jangan mengira aku dilahirkan dengan pengetahuan ini, kawan.
Jika Anda tidak terbiasa dengan terminal dan / atau ingin menggunakan GUI untuk hanya memilih grup file Anda dan menerapkan transformasi, Anda dapat membuat Script Tindakan Nautilus Anda sendiri untuk cukup klik kanan grup file dan pilih opsi dari menu konteks.
Untuk instruksi tentang bagaimana melakukan hal seperti itu silakan baca pertanyaan, jawab dan komentar di sini: Bagaimana cara batch memproses gambar JPG untuk mengubah kualitasnya dengan Nautilus-Actions?
Semoga berhasil!
convert
Keterampilan command-line ImageMagick sangat bagus untuk dimiliki.
convert photo.jpg -quality 70% photo_compressed.jpg
format perintah dan itu berhasil! Bahkan mengatur kompresi ke hanya 70% dari kualitas asli mengurangi ukuran foto menjadi ~ 37% dari aslinya, karena efeknya diperbesar dengan berada pada sumbu x dan y.
mogrify -resize 1600 -path dir_name -format JPG -quality 90 *.tif
Jika Anda merujuk ke gambar jpeg, kompresi de facto tidak dimungkinkan. Karena jpeg secara definisi merupakan format file terkompresi (semua noise dan piksel tidak berguna sudah dihapus). Anda dapat melakukannya dengan baik, tetapi ukuran totalnya akan tetap sama. Satu-satunya algoritma kompresi canggih yang saya tahu untuk jpeg adalah zipx. Tapi zipx adalah hak milik Winzip dan memastikan maks. ukuran dipotong 30% (dalam mode arsip zipx).
Untuk menampilkan gambar Anda di web, pertama-tama Anda harus mengubah ukurannya (di bawah 1 MB per masing-masing) dan secara opsional mengubahnya menjadi format file png. PNG (= grafik jaringan portabel) dioptimalkan secara khusus untuk transfer web yang lebih cepat dan tampilan yang lebih cepat. Pengguna mahir bahkan dapat mengkonversi gambar-gambar itu ke format webp (format Google untuk gambar, algoritma pemuatan tercepat).
Anda dapat mengonversi gambar secara batch dengan XnConvert, lalu mengubah ukuran gambar Anda dengan XnView. Unduh paket deb dari sini: http://www.xnview.com/de/xnviewmp/#downloads , lalu klik kanan padanya dan buka dengan Gnome Software.
Jika Anda tidak peduli dengan kecepatan memuat jaringan, tetapi peduli kualitas, Anda harus menjaga gambar Anda tidak tersentuh dan membuat perpustakaan digital untuk mereka. Mungkin mengunggahnya ke server publik (Yahoo, Google, dll).