Nota daripada pasukan tentang kraf, format, dan keputusan kecil di sebalik potongan bulat yang baik.
Bekas tanpa kehilangan, apa yang PNG simpan
PNG bersandar pada DEFLATE, satu algoritma tanpa kehilangan. Ia menulis keluar setiap nilai RGBA piksel dengan tepat, menjalankan penapis boleh balik pada setiap baris imbasan dahulu, kemudian memerah keseluruhannya dengan aliran gaya zlib. Tanpa kehilangan di sini bermaksud nilai yang anda nyahmampat adalah bait demi bait yang anda masukkan. Dalam kes JPG ke PNG, nilai yang masuk ialah piksel yang pelayar serahkan semula selepas menyahkod JPEG, dan ia sudah membawa setiap penghampiran yang pengekodan JPEG asal perkenalkan. Maka PNG dengan tekun merekod penghampiran itu, bukan pemandangan sebenar yang dirakam. Diukur, satu JPEG 17 KB pada 1024x768 mendarat hampir 105 KB sebagai PNG, manakala satu JPEG 116 KB pada 3840x2160 mencapai kira-kira 384 KB. Gandaan ini menjejaki resolusi bukan tetapan kualiti JPEG, sebab itu ia agak stabil merentas kandungan. Bekas itu memperoleh tempatnya dengan menghentikan kemerosotan, bukan dengan membalikkannya.
Mengapa kualiti JPEG tidak boleh dipulihkan
JPEG melepaskan maklumat untuk selamanya. Mampatannya menjalankan satu jelmaan kosinus melintasi blok 8x8, membundarkan pekali frekuensi ke set yang lebih kasar, dan menyimpan nombor terbundar itu. Pembundaran itu hanya sehala, jadi pekali yang berbunyi 47 sebelum dipatahkan kepada 50 tidak pernah boleh ditolak balik, dan fail tidak menyimpan ingatan tentang 47. Menyahkod JPEG membina semula piksel daripada pekali terbundar, yang merupakan tekaan terhadap asal. Bungkus tekaan itu dalam PNG dan anda menerima satu salinan sempurna bagi sebuah gambar yang cacat. Tiada satu pun di sini ialah kekurangan PNG atau Araluma, ia hanyalah cara mampatan yang menghilangkan kualiti berfungsi, di mana apa jua yang digugurkan ketika pengekodan kekal gugur. Satu-satunya laluan ke kualiti JPEG yang lebih baik ialah kembali ke sumber belum dimampat atau fail RAW.
Pertumbuhan saiz fail yang diukur
Berapa banyak satu JPG membengkak dalam perjalanan ke PNG bergantung pada gambar, tetapi arah alirannya mantap. Foto yang sibuk dengan anjakan tona yang kaya membesar paling banyak, kerana itulah bahan yang JPEG mampat dengan hebat manakala pengekod tanpa kehilangan PNG tidak dapat mengejar pada piksel sebising itu. Dari ujian alat ini sendiri, satu foto JPEG 17 KB pada 1024x768 menjadi satu PNG 105 KB, kira-kira lonjakan enam kali, dan satu foto JPEG 116 KB pada 3840x2160 menjadi satu PNG 384 KB, lebih kurang 3.3 kali lebih besar. Bahan rata seperti tangkapan skrin dan ikon kurang sesuai dengan JPEG dari mula dan cenderung membawa lebih berat di sana, jadi PNG bagi kandungan yang sama membesar dengan kurang mendadak. Pengajarannya jelas, jika output yang lebih kecil ialah yang anda kejar, menukar satu JPG ke PNG menolak anda ke arah yang salah.
Ketelusan, keupayaan berbanding kandungan
Saluran alfa 8-bit PNG ialah ciri bekas, membenarkan mana-mana piksel membawa kelegapan dari 0 untuk telus sepenuhnya hingga 255 untuk pejal sepenuhnya. Apabila satu JPG dibina semula sebagai satu PNG melalui enjin imej platform, setiap piksel keluar pada 255, legap sepenuhnya, kerana JPG tiada ketelusan untuk dihantar sejak awal. PNG berdiri sedia menyimpan data alfa, fail itu cuma tidak memegang sebarang, kerana tiada yang wujud pada sumber. Memasukkan ketelusan ke dalam imej menuntut satu operasi berasingan, sama ada menutup latar dengan tangan dalam satu penyunting atau menjalankan satu pembuang latar automatik. Satu pembuang yang ditala untuk mengesan subjek boleh menyerahkan satu PNG dengan alfa tulen dengan menyifarkan kelegapan piksel latar selepas penukaran.
Pengendalian metadata EXIF
Apabila fail dibina semula, tag EXIF, IPTC dan XMPnya jatuh dari PNG pada setiap pelayar, membawa koordinat GPS, badan kamera, tarikh tangkapan, teks hak cipta, dan mana-mana XMP tersuai yang JPG pegang bersamanya. Profil warna mencapah sedikit. Chrome dan Safari mengekalkan tag sRGB pada apa yang keluar, manakala Firefox melepaskannya bersama segala yang lain. Maka PNG selamat sRGB di mana pun anda membukanya, walaupun profil gamut luas seperti Display-P3 atau Adobe RGB tidak akan bertahan menerusi Firefox. Untuk web dan perkongsian biasa, menggugurkan tag ialah satu kelebihan, mengikis sedikit berat dan melucutkan data lokasi daripada foto anda. Untuk kerja profesional atau arkib yang metadata terbenamnya mesti bertahan, uruskan rantai itu dengan satu alat khas sebelum atau selepas anda menukar.
Privasi dan ke mana kerja jatuh
Ke mana kerja jatuh bergantung pada kuantiti. Untuk satu imej, tiada apa meninggalkan pelayar, dan anda boleh menyemaknya secara langsung dalam beberapa saat. Buka Chrome DevTools, beralih ke panel Rangkaian, tapis mengikut XHR dan Fetch, dan tukar satu fail. Tiada apa muncul semasa pengekodan berjalan. Untuk dua atau lebih, Araluma menghantarnya ke pelayan kami, yang menukar, mengumpulkan hasil, dan memulangkan pautan muat turun. Pautan itu dan fail tertukar dipadam dalam kira-kira 2 jam. Laluan untuk satu imej mengekalkan semuanya pada peranti, di luar rangkaian, manakala satu kelompok menukarnya dengan menyelesaikan banyak fail sekali gus. Untuk tangkapan skrin sesuatu yang peribadi atau foto bertanda lokasi anda, menukar satu demi satu mengekalkannya pada mesin anda, perbezaan sebenar, bukan slogan.