Perangkat Lunak Kompresi PNG Terbaik? [Tutup]


22

Saya baru saja mencoba mengompres gambar dengan format gambar PNG dan mendapatkan hasil yang bervariasi dari berbagai aplikasi. Sebagai referensi, gambar yang saya coba kompres adalah tangkapan layar situs ini . Ini unduhan gambar aslinya .

Berikut adalah beberapa hasil yang saya dapatkan sejauh ini agar yang terbaik menjadi lebih buruk (gambar aslinya adalah 239KB):

PNGGauntlet (Xtreme! / None filter) ...................... 141KB
FastStone Capture v5.3 (16M / MAX/ No filter) ............ 166KB
Paint.NET 3.36 (Autodetect) .............................. 185KB
PNGGauntlet (Xtreme! / Auto filter) ...................... 208KB
IrfanView (PNGOUT 2 passes w/default) .................... 211KB
XnView (Export / 9 / Sub filter) ......................... 228KB
Photoshop CS1 (Save for Web / PNG24) ..................... 232KB
IrfanView (Standard save / 9) ............................ 240KB
XnView (Standard save / 9) ............................... 240KB
IrfanView (Save for Web / Best) .......................... 242KB

FastStone Capture v5.3 (16M / MAX/ Paeth filter) ......... 248KB
IrfanView (Save for Web / Optimal 256 / Xiaolin / Best) ..  81KB

Beberapa mengutak-atik PNGGauntlet menghasilkan hasil terbaik, meskipun butuh waktu lama untuk dikompres. FastStone melakukan sesuatu yang menarik, seperti Paint.NET karena mereka mendapatkan hasil mereka dalam waktu yang sangat singkat PNGGauntlet diperlukan untuk menghidupkan keajaibannya. Saya telah memisahkan dua hasil terakhir untuk kontras (lihat bagaimana filter Paeth tampaknya menyebabkan masalah). Perhatikan juga versi 256-warna palet dari Irfan: ini biasanya akan menjadi pilihan yang akan saya gunakan, tapi saya sedang menguji hasil TrueColor di sini.

Adakah orang lain yang mendapat saran yang dapat mengalahkan hasil terbaik di sini dan adakah yang bisa menjelaskan apa yang dilakukan filter karena filter tersebut sangat memengaruhi hasil tergantung pada jenis gambar.


Sekalipun pertanyaan diajukan dengan cara yang konstruktif (kecuali mungkin untuk "terbaik" dalam judul), sayangnya ia telah menghasilkan daftar jawaban terbuka, itulah sebabnya saya menutupnya sekarang.
slhck

2
Untuk referensi di masa mendatang, seperti apa bentuk pertanyaan ini? Sebagai catatan, saya telah menemukan jawaban yang sangat berguna dan konstruktif dan karenanya cocok untuk situs ini. Saya akan dengan hormat mengatakan bahwa menutup yang ini, dalam kasus khusus ini, adalah penilaian yang salah. Suara naik / turun alami berfungsi dengan baik di sini. Jika ada alat lain, Anda telah memberi kami kesempatan untuk mempelajarinya di sini. Berakhir terbuka bermanfaat di sini.
Charles Roper

Sejak 2009, beberapa hal telah berubah. Stack Exchange telah memperjelas bahwa pertanyaan terbuka tidak diterima lagi (misalnya, "Apa perangkat lunak terbaik untuk XZY?"), Karena formatnya tidak dibuat untuk ini, dan itu tidak seharusnya menjadi kontes pemungutan suara, tetapi situs tanya jawab untuk masalah aktual dengan serangkaian jawaban tertutup. Sekarang, pertanyaan Anda tidak buruk pada dasarnya , tetapi kami jelas tidak ingin mendapatkan daftar semua program optimasi PNG di luar sana, yang menurut definisi tidak konstruktif. Wikipedia telah Anda liput di sana.
slhck

1
Saya mengerti bahwa pertanyaan ini sudah ada sejak lama dan Anda menemukan jawabannya bermanfaat — juga, Anda telah menjadi anggota komunitas ini lebih lama dari saya — tetapi Anda harus memahami bahwa kebijakannya baru saja berubah secara drastis. Seperti yang saya katakan, pertanyaan Anda tidak buruk, Anda bahkan telah meminta penjelasan tentang cara kerja filter, tetapi tampaknya tidak mendorong jawaban yang tepat.
slhck

Pingo mengklaim menyediakan serangkaian pilihan, dari yang tercepat hingga yang terkuat, harapan akan diuji: css-ig.net/pingo Juga ada ZPng eksperimental - menggunakan wadah PNG dengan codec Zstd Facebook. Meskipun file bukan PNG, ia masih lossless dan mengklaim mendapatkan 66% dari ukuran PNG dengan 6% waktu
Arioch 'The

Jawaban:


15

PngOptimizer 165KB dalam waktu sekitar 2 detik.

Kualitas gambar tidak tersentuh.


Manis! Itu utilitas kecil yang keren. Antarmuka yang elegan juga.
Charles Roper

1
Itu tidak benar-benar mengatakan banyak tentang apa yang sebenarnya dilakukannya. Apakah itu pasti lossless? Apa "informasi tidak berguna" yang dihapus dari file?
Sam

11

Saya hanya pernah menggunakan pngcrush tetapi berfungsi dengan baik dan memiliki banyak pilihan.


Saya memeriksa hampir semua yang telah disebutkan di sini dan saya memilih pngcrush juga. Memberitahukannya untuk menghapus semua bagian data lainnya dan berjalan dalam mode brute force (jika Anda punya waktu / sumber daya) menghasilkan hasil terbaik, paling andal untuk rangkaian gambar saya (kebanyakan jenis garis seni - B & W / abu-abu dengan bagian besar hitam atau putih).
Goyuix

Karena dijalankan pada baris perintah, mudah untuk membangunnya ke urutan build Anda juga, yang bagus.
Rich Bradshaw

7

Hanya untuk patokan cepat, saya mengunduh 170 PNG acak dari berbagai situs web di internet, dengan total sekitar 8MB. Inilah hasilnya:

Original: 8,403,619 bytes total
PNGCrush: 7,398,194 bytes total
 Optipng: 7,340,167 bytes total
  PNGOUT: 6,938,205 bytes total

Jadi sepertinya PNGOUT (atau GUI berdasarkan itu) adalah pilihan terbaik jika ukuran adalah tujuan utama Anda. Ini semua adalah transformasi lossless.


5

Saya mendapatkan hasil terbaik dengan ScriptPNG . Ini adalah skrip batch windows yang menggunakan beragam utilitas PNG untuk menemukan kompresi terbaik untuk gambar yang diberikan. Ini sering memeras 10-100 byte dari gambar yang sudah dikompresi. Penulis memiliki utilitas lain, dan banyak artikel tentang kompresi png / jpeg, tes PNG dan perbandingan.

Ini memiliki berbagai mode:

  • Tercepat ke Xtreme (mode kecepatan vs ukuran)
  • PNG24 (PNG24 + A-spesifik)
  • PNG8 (khusus PNG8)
  • APNG (PNG Animasi)

4

Berlawanan dengan kebanyakan kompresor lain yang disebutkan di sini, TinyPNG menyusutkan file PNG dengan menggunakan kompresi lossy. Oleh karena itu dapat mencapai rasio pengurangan ukuran file yang jauh lebih baik.


3

PNGGauntlet adalah pembungkus GUI untuk PNGOUT dan jika Anda melihat halaman itu ada plugin PNGOUT.DLL untuk Irfanview jika Anda lebih suka itu sebagai antarmuka, atau Anda bisa menggunakan PNGOUT pada baris perintah atau dalam skrip jika Anda ingin mengotomatiskan kompresi Anda sebagai bagian dari proses build / deployment.


3

Saya suka OptiPNG . Selain utilitas sumber dan baris perintah ada plugin optipng untuk Windows Explorer, Paint.NET, beberapa ujung depan untuk pengguna Mac, dan beberapa proyek lainnya (Apache Ant, Eclipse; lihat bagian Proyek Terkait di halaman rumah).


2

Adakah yang bisa menjelaskan apa yang dilakukan filter

Mereka dijelaskan dalam spesifikasi .

Mereka mengubah bagaimana baris gambar disimpan. Alih-alih menyimpan nilai RGB mentah (atau indeks palet), gambar dapat menyimpan perbedaan antara piksel tetangga. Ini mungkin membuat data lebih cocok untuk kompresi jika Anda memiliki gambar dengan gradien.



2

Dalam pengujian saya, alat online terbaik adalah http://compresspng.com


4
Jika Anda memiliki afiliasi dengan situs ini, silakan menyatakannya. Tautkan juga hanya jawaban yang bukan jawaban yang baik. Tolong jelaskan mengapa Anda pikir ini solusinya.
ChrisF
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.