Pertanyaan Bagaimana saya bisa memadatkan gambar?


Saya memiliki 5.000 gambar yang perlu saya kompres (untuk ditampilkan di situs web saya).

Saya baru mengenal Ubuntu. Jadi apa yang saya lakukan?


14
2018-06-03 19:19


asal


Kemungkinan duplikat dari JPG batch compression & rename (temukan -exec, xargs, piping?) - Mostafa Ahangarha
@MostafaAhangarha: Bukan duplikat. Silakan baca jawaban saya askubuntu.com/a/781588/9598 dan mempertimbangkan kembali suara Anda agar tidak menutup pertanyaan ini. Itu bagus. Terima kasih! - Geppettvs D'Constanzo


Jawaban:


saya menggunakan Trimage super mudah digunakan.

hanya tambahkan gambar dan kompres untuk memasang :

sudo apt-get install trimage

enter image description here


15
2018-06-03 19:28





Kata "kompresi" tampaknya disalahartikan dalam pertanyaan ini, tetapi belum valid tergantung pada konteks yang ingin Anda lihat.

Pemandangan

Mari kita hadapi bahwa desainer Web, pengembang Web dan / atau master Web perlu "memadatkan" file gambar kami agar cukup "ringan" untuk segera diunggah ke hosting kami jika kami bekerja langsung di lingkungan produksi nyata. Yang tidak akan memengaruhi jika kami 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 dijawab jawabannya:

  1. Gambarnya HARUS ringan
  2. Gambar HARUS "dikompresi" untuk kehilangan ukuran file tetapi tidak "di-rezized" sebagaimana dirujuk oleh pengguna lain yang menunjuk ke duplikat pada pertanyaan ini JPG batch compression & rename (temukan -exec, xargs, piping?) 
  3. Gambar-gambar harus dipadatkan dengan batch, sebaiknya melalui GUI.

Gambar Ringan

Pertama mari kita pahami apa itu "gambar ringan" seharusnya.

Gambar Definisi Tinggi, dengan resolusi lebih dari 1024px mungkin memiliki ukuran file yang besar. Saya berikan contoh pada tangkapan layar ini:

enter image description here

enter image description here

Di jendela properti file kita dapat melihat ini adalah file 9,5 MB, yang akan menunda banyak untuk mengunggah dan akan menunda banyak untuk ditampilkan di layar ketika dipublikasikan di situs web.

Namun demikian, ukuran gambar dan resolusi grid sangat berguna untuk mencetak definisi tinggi. Jadi itu pemandangan yang berbeda yang tidak akan saya bahas dalam penjelasan ini.

Jadi, bagaimana saya dapat menggunakan gambar ini di situs web, tanpa menunggu bertahun-tahun untuk mengunggah dan menunggu beberapa tahun lain untuk menampilkannya di situs web saya?

File harus dikompresi.

Dan ketika kita berbicara tentang "kompresi" kita secara eksplisit perlu mengubah kualitasnya agar dapat digunakan untuk kasus yang kita hadapi.

Jadi, mari kita jatuhkan yang berikutnya di terminal:

convert seminario-tabloide.png test.jpg

Ini akan mengkonversi format PNG definisi tinggi ke dalam format JPG "terkompresi", yang dengan sendirinya adalah file yang lebih kecil! Mulai dari 9,5 MB hingga 2,4 MB.

enter image description here

Belum besar?

Tapi, 2,4 MB belum menjadi ukuran file yang besar. Mari sekarang bermain dengan yang lain ImageMagick  mengubah perintah untuk membuat ukuran file yang lebih kecil:

convert test.jpg -quality 50% test-50p.jpg

Inilah yang harus kita lakukan untuk "memadatkan" suatu gambar. Ini akan mengurangi kualitas gambar sebesar 50% dan menghasilkan 938,4 KB <=== (Catatan: KILOBYTES, bahkan Megabyte) tidak dapat merekam.

Kita bisa 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).

Mengubah ukuran + Mengompresi = Sangat Keren!

Sekarang. Kita bisa melakukan hal yang berbeda. Beberapa hal memang: Pertama-tama kita dapat mengubah ukuran gambar dan menerapkan kompresi setelah itu, yang akan menghasilkan ukuran file yang lebih kecil dari aslinya, dan akan memberikan gambar yang berguna untuk rendering di layar, tidak begitu baik untuk dicetak tetapi tampaknya kita perlu menampilkannya di layar dan tidak di spanduk cetak, kan?

Jadi mari kita lakukan ini:

convert seminario-tabloide.png -resize 1024x test-1024x.jpg

Dengan instruksi ini, kami meminta gambar yang akan diubah ukurannya menjadi 1024 piksel lebar dengan jumlah piksel yang dibutuhkan agar tidak kehilangan aspek rasio.

Sekarang ... tebak apa?

Ukuran file berkurang dari 9,5 MB menjadi ... (musik ketegangan dengan congas) 433,7 KILOBYTES

Jika kita ingin kompres maksimum file kompresi maksimum seperti ini, kita 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 ... Di sini kita pergi!

convert test-1024x.jpg -quality 50% test-1024x-50p.jpg

Dan kami pergi dari 433,7 KB ke 176,2 KB dalam satu perintah. Contoh ini berhasil, namun jangan berharap ada latihan untuk menghasilkan ukuran file yang lebih kecil. Tapi Anda bisa bersenang-senang ketika menjalankan latihan semacam ini.

Proses batch

Oh! Tetapi saya hampir melupakan salah satu kebutuhan: Untuk menerapkan proses ini ke banyak gambar dengan mudah.

Untuk itu kita bisa melakukannya dengan dua proses.

Terminal

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 sejumlah piksel)

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 agar mudah untuk dipilih.

Kurangi kualitas berdasarkan persentase (gunakan persentase apa pun yang Anda inginkan) ke semua gambar dalam direktori:

for i in *-1024x.jpg; do convert $i -quality 50% $i-50p.jpg; done;

Di sini kami meminta gambar yang diubah ukurannya untuk dikurangi kualitasnya agar ukurannya lebih kecil.

Anda dapat bermain dengan perintah ini dan melihat hasil Anda. Setelah beberapa jam bersenang-senang, Anda akan menjadi seorang ahli.

Script Nautilus

Pada 20 April 2015 saya menghadapi situasi seperti pertanyaan aslinya, jadi saya harus melakukan penelitian dan meminta bantuan untuk sebuah pertanyaan. Itu sebabnya sekarang saya tahu banyak hal ini. Jangan berpikir aku terlahir 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 Nautilus Actions Script Anda sendiri untuk hanya mengklik kanan grup file dan memilih opsi dari menu konteks.

Untuk instruksi tentang cara melakukan hal tersebut, silakan baca pertanyaan, jawaban, dan komentar di sini: Bagaimana proses batch gambar JPG untuk mengubah kualitasnya dengan Nautilus-Actions? 

Semoga berhasil!


30
2018-06-03 23:19



Ini adalah jawaban "ajari aku untuk memancing". ImageMagick convert keterampilan baris perintah sangat bagus untuk dimiliki. - charneykaye


Jika Anda mengacu pada gambar jpeg, secara de facto kompresi tidak mungkin. Karena jpeg adalah Menurut definisi format file terkompresi (semua noise dan piksel yang tidak berguna sudah dihapus). Anda dapat mengeposkannya dengan baik, tetapi ukuran totalnya akan tetap sama. Satu-satunya algoritma kompresi canggih yang saya tahu untuk jpeg adalah zipx. Tetapi zipx dimiliki oleh Winzip dan memastikan nilai maksimal. ukuran dipotong sebesar 30% (dalam mode arsip zipx).

Untuk menampilkan Anda gambar di web, pertama-tama Anda harus mengubah ukurannya (di bawah 1 MB per masing-masing) dan secara opsional mengonversinya menjadi format file png. PNG (= portable network graphics) secara khusus dioptimalkan untuk transfer web yang lebih cepat dan tampilan yang lebih cepat. Pengguna mahir bahkan dapat mengonversi gambar tersebut ke format webp (format Google untuk gambar, algoritma pemuatan tercepat).

Anda dapat melakukan batch mengkonversi gambar dengan XnConvert, kemudian batch mengubah ukuran gambar Anda dengan XnView. Unduh paket deb dari sini: http://www.xnview.com/de/xnviewmp/#downloads , lalu klik kanan dan buka dengan Gnome Software.

Jika Anda tidak peduli dengan kecepatan loading jaringan, tetapi peduli dengan kualitas, Anda harus menjaga gambar Anda tetap tidak tersentuh dan membuat perpustakaan digital untuk mereka. Mungkin mengunggahnya ke server publik (Yahoo, Google, dll).


-1
2018-06-03 19:36



Anda mungkin ingin menyebutkan berbagai opsi untuk kompresi jpeg / kualitas; itu sangat mungkin untuk mengurangi ukuran file gambar jpeg dengan meningkatkan kompresinya (dan karenanya mengurangi kualitasnya). - Nick Weinberg
Pemahaman saya tentang kompresi berarti menghilangkan piksel yang tidak perlu dengan tetap menjaga kualitas yang sama. Mengurangi kualitas bukan kompresi itu hanya perampingan atau down-sampling. Kompresi lossless dimungkinkan dengan menggunakan format zipx yang bekerja hebat dengan foto burst. Ini menciptakan semacam tumpukan foto yang sama dengan overimposed / overstacked di mana semua piksel ganda rata pada layer terpisah, sesuatu yang mirip dengan file .css di halaman web. Mengulangi piksel didefinisikan sebagai entitas terpisah di dalam arsip. - ipse lute