Langkau ke kandungan

Mengapa PNG Anda Besar dan Cara Atasinya

PNG adalah format tanpa kehilangan (lossless), yang merupakan punca utama fail menjadi sangat besar. Tiga penyelesaian, dan kesan setiap satu terhadap anda.

PNG anda bersaiz 8 MB kerana PNG menyimpan setiap piksel secara tepat, dan tangkapan skrin halaman penuh pada resolusi retina sememangnya mengandungi maklumat sebanyak itu. Format ini tidak membuang apa-apa maklumat, yang merupakan kelebihan utama PNG dan juga punca utama masalah ini.

Terdapat 3 cara untuk mengatasinya, dan setiap cara mempunyai kesan yang berbeza. Mengurangkan dimensi mengurangkan resolusi yang mungkin tidak anda gunakan. Mengurangkan kedalaman warna menjejaskan ketepatan warna pada foto. Menukar format pula menjejaskan keserasian di luar pelayar web. Pilih berdasarkan tujuan penggunaan imej tersebut.

3 pilihan anda

  • Kurangkan dimensi. Percuma, dan biasanya memberikan hasil terbesar. Tiada sesiapa yang memerlukan tangkapan skrin bersaiz 5000 piksel.
  • Kurangkan kedalaman warna. Berfungsi dengan baik pada grafik rata, tetapi kurang memuaskan pada foto.
  • Tukar format. WebP mengekalkan ketelusan dan biasanya menghasilkan saiz 25 hingga 35 peratus lebih kecil.

Mengapa fail PNG berkembang dengan begitu cepat

Saiz fail PNG berkadar terus dengan bilangan piksel, kerana setiap piksel mesti diterangkan secara tepat. Menggandakan lebar dan tinggi akan meningkatkan bilangan piksel sebanyak empat kali ganda dan menggandakan saiz fail sekitar empat kali ganda.

Tangkapan skrin bersaiz 5120 kali 2880 daripada monitor beresolusi tinggi mengandungi 14.7 juta piksel. Pada kadar 3 bait setiap piksel sebelum pemampatan, ia merupakan 44 MB data mentah, dan pemampatan PNG biasanya mengurangkannya kepada antara 4 MB dan 12 MB bergantung pada jumlah warna rata yang terkandung dalam imej tersebut. Hasil bersaiz 8 MB adalah perkara biasa dan bukannya satu ralat.

Penyelesaian 1: kurangkan dimensi

Ubah saiz imej kepada saiz terbesar yang akan dipaparkan, yang dapat mengurangkan sebahagian besar saiz fail sebelum mencuba perkara lain. Ini adalah penyelesaian dengan kesan tertinggi dan kos terendah.

Saiz asalDiubah saiz kepadaPiksel dibuangFail biasa
5120 x 28802560 x 144075 peratus8 MB kepada 2 MB
3840 x 21601920 x 108075 peratus5 MB kepada 1.3 MB
2560 x 14401280 x 72075 peratus2 MB kepada 500 KB
Foto 4000 x 30001600 x 120084 peratus18 MB kepada 2.9 MB

Ukur lebar maksimum imej yang akan dipaparkan pada halaman, gandakan nilai tersebut untuk skrin berketumpatan tinggi, dan ubah saiz mengikut hasil tersebut. Tangkapan skrin yang dipaparkan pada lebar 800 piksel hanya memerlukan 1600 piksel sahaja.

Penyelesaian 2: kurangkan kedalaman warna

Menukar daripada warna 24 bit kepada palet 8 bit mengurangkan saiz PNG sebanyak 50 hingga 70 peratus, dan hanya berfungsi pada imej dengan warna terhad. Tangkapan skrin antara muka, gambar rajah, logo dan carta adalah calon yang paling sesuai.

Teknik ini menyimpan palet sehingga 256 warna dan merujuknya bagi setiap piksel, berbanding menyimpan nilai warna penuh. Tangkapan skrin antara muka pengguna jarang mengandungi lebih daripada 256 warna berbeza, jadi pengurangan ini tidak akan kelihatan. Foto mengandungi berpuluh-puluh ribu warna, jadi pengurangan yang sama akan menghasilkan kesan jalur warna yang jelas pada kawasan langit dan kulit.

Penyelesaian 3: tukar format

Tukar kepada WebP untuk kegunaan web, yang mengekalkan ketelusan dan biasanya bersaiz 25 hingga 35 peratus lebih kecil daripada PNG. Tukar kepada JPG hanya apabila imej tersebut adalah foto dan tidak memerlukan ketelusan.

  • WebP lossless untuk grafik dan tangkapan skrin, yang mengekalkan setiap piksel secara tepat dan masih menjimatkan 20 hingga 30 peratus.
  • WebP lossy untuk fail PNG berbentuk foto, di mana penjimatan boleh mencapai 70 peratus atau lebih.
  • JPG untuk foto tanpa ketelusan, di mana PNG sememangnya pilihan yang salah dari awal.
  • AVIF untuk imej foto yang besar, yang memampatkan lebih kuat pada fail melebihi 100 KB.
  • Grafik vektor untuk logo dan ikon, di mana fail SVG mungkin hanya sebahagian kecil daripada saiz mana-mana format raster.

Punca paling biasa: foto disimpan sebagai PNG

Foto yang disimpan sebagai PNG adalah 3 hingga 5 kali lebih besar daripada foto yang sama dalam format JPEG, tanpa sebarang perbezaan visual. Kesilapan tunggal ini adalah punca bagi kebanyakan fail PNG yang bersaiz terlampau besar.

Pemampatan PNG mencari pengulangan, manakala foto hampir tidak mengandungi pengulangan pada tahap piksel, memandangkan setiap piksel berbeza sedikit daripada piksel sebelahnya. Format ini akhirnya menyimpan berjuta-juta nilai yang hampir unik secara tepat. Simpan foto sebagai JPEG atau WebP dan khaskan PNG untuk imej yang sememangnya mempunyai warna rata atau ketelusan.

Cara mengecilkan PNG tanpa mengurangkan kualiti

Untuk mengurangkan saiz PNG sambil mengekalkannya tanpa kehilangan (lossless), ikuti 5 langkah ini mengikut urutan.

  1. Potong (crop) mana-mana kawasan yang tidak digunakan, kerana jidar kosong masih menggunakan saiz fail.
  2. Ubah saiz kepada saiz paparan terbesar yang diperlukan oleh imej, digandakan untuk skrin berketumpatan tinggi.
  3. Semak sama ada imej benar-benar memerlukan ketelusan, kerana imej yang diratakan (flattened) memampat dengan lebih baik.
  4. Kurangkan palet warna jika imej tersebut adalah grafik dan bukannya foto.
  5. Tukar kepada WebP lossless, yang masih tepat dan biasanya 20 hingga 30 peratus lebih kecil.

Langkah 1 dan 2 biasanya sudah cukup untuk menyelesaikan masalah. Langkah selebihnya penting apabila imej mesti kekal sangat besar, seperti tangkapan skrin halaman penuh dalam dokumentasi.

Mengapa tangkapan skrin sangat besar pada skrin moden

Paparan berketumpatan tinggi merakam pada 2 atau 3 kali ganda resolusi logik, jadi tangkapan skrin tetingkap dengan lebar 1200 piksel disimpan pada 2400 atau 3600 piksel. Fail tersebut jauh lebih besar daripada saiz tetingkap yang kelihatan pada skrin.

Resolusi tambahan itu berguna apabila tangkapan skrin akan dilihat pada skrin berketumpatan tinggi yang lain, dan membazir jika sebaliknya. Untuk dokumentasi dan artikel sokongan, mengubah saiz kembali kepada saiz logik akan mengurangkan dimensi separuh dan mengurangkan saiz fail sebanyak kira-kira 75 peratus sambil kelihatan serupa bagi kebanyakan pembaca.

Bila masanya untuk mengekalkan saiz PNG yang besar

Kekalkan saiz penuh PNG apabila imej tersebut adalah fail induk (master), aset cetakan atau sumber yang akan diedit kemudian. Keputusan pemampatan harus dibuat pada salinan penghantaran dan bukannya pada fail asal.

Fail reka bentuk, logo induk, karya seni cetak dan dokumen yang diimbas semuanya mewajarkan saiz besarnya. Simpan fail tersebut pada resolusi penuh dan hasilkan salinan yang lebih kecil untuk setiap destinasi. Kesilapan yang sering berlaku adalah menerbitkan fail induk berbanding menyimpannya, kerana fail induk hanya menggunakan ruang cakera sekali sahaja manakala fail induk yang diterbitkan menggunakan jalur lebar pada setiap lawatan.

Ketelusan menggunakan lebih banyak saiz daripada yang dijangkakan

Saluran ketelusan menambah nilai keempat pada setiap piksel, meningkatkan data mentah sebanyak kira-kira 33 peratus sebelum pemampatan. Banyak fail PNG membawa saluran tersebut tanpa menggunakannya.

Tangkapan skrin, carta yang dieksport dan imej yang diratakan pada latar belakang putih sering kali mengekalkan saluran alfa yang legap sepenuhnya di semua tempat. Membuangnya tidak menjejaskan visual dan mengurangkan saiz fail secara ketara. Semak sama ada imej benar-benar memerlukan latar belakang lut sinar sebelum mengandaikan saluran tersebut diperlukan, kerana kebanyakan imej yang diletakkan pada halaman putih tidak memerlukannya.

Adakah memampatkan PNG mengurangkan kualiti

Pengoptimuman PNG tanpa kehilangan (lossless) tidak membuang apa-apa kualiti, manakala mengurangkan warna atau dimensi mengubah imej secara kekal. Ketiga-tiga teknik ini sering diterangkan bersama tetapi ia tidak setara.

Pengoptimuman tanpa kehilangan menyusun semula cara fail menyimpan datanya dan biasanya menjimatkan 5 hingga 20 peratus dengan hasil piksel yang serupa. Pengurangan palet warna dan pengubahan saiz mengubah imej itu sendiri, yang boleh diterima untuk salinan penghantaran tetapi tidak boleh diterima untuk fail induk. Simpan fail asal sekiranya pengurangan tersebut tidak boleh dikembalikan.

Mengatasi masalah satu folder penuh fail PNG yang terlalu besar

Proses folder tersebut dalam satu kelompok, kerana fail PNG yang terlalu besar biasanya datang dalam kumpulan daripada sumber yang sama. Set dokumentasi, perpustakaan tangkapan skrin atau eksport daripada alat reka bentuk cenderung berkongsi masalah yang sama.

Masukkan sehingga 500 fail sekaligus, atau seret arkib ZIP terus ke dalam, dan tetapkan dimensi serta format sekali sahaja untuk keseluruhan set. Semuanya berjalan di dalam pelayar web anda menggunakan pemproses anda sendiri, jadi tangkapan skrin dalaman, reka bentuk produk dan dokumentasi pelanggan tidak pernah dihantar ke pelayan. Tiada apa-apa yang dimuat naik, jadi tiada dasar penyimpanan data untuk dibaca dan tiada apa-apa yang tertinggal selepas itu.

Selesaikan juga punca masalah selain daripada fail itu sendiri. Alat tangkapan skrin yang ditetapkan untuk menyimpan PNG pada resolusi retina penuh akan terus menghasilkan fail bersaiz 8 MB selama-lamanya. Kebanyakan alat tangkapan membenarkan format lalai dan faktor skala ditetapkan, dan mengubah kedua-duanya sekali gus mengelakkan keperluan untuk memproses tangkapan skrin lagi selepas setiap artikel sokongan ditulis.

Kembali ke blog