
PNG-formatet ska vara ett förlustfritt format, men när du sparar en bild som en PNG-fil blir du ombedd att välj en komprimeringsnivå. Betyder det att PNG-formatet egentligen inte är förlustfritt trots allt? Dagens SuperUser Q & A-tjänst hjälper till med att rensa förvirringen för en nyfiken läsare.
Dagens Frågor och svar sessions kommer till vår tjänst med SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.
SuperUser-läsaren pkout vill veta om kvaliteten på en PNG-bild påverkas av den valda kompressionsnivån:
Som jag förstår, använder PNG-filer förlustfri komprimering. Men när jag använder en bildredigerare som Gimp och försöker spara en bild som en PNG-fil, frågar den om en komprimeringsnivå som sträcker sig mellan 0 och 9.
Om den har en komprimeringsparameter som påverkar den visuella precisionen hos Den komprimerade bilden, hur är PNG förlustfri då? Kan någon förklara det här för mig? Får jag bara förlustfritt beteende när jag ställer komprimeringsnivån till 9?
Finns det en skillnad i bildens kvalitet beroende på vilken komprimeringsnivå du väljer?
SuperUser-bidragsgivare LordNeckbeard och jjlin har svaret för oss. Först upp, LordNeckbeard:
PNG är komprimerad, men Lossless
Kompressionsnivån är ett kompromiss mellan filstorlek och kodning / avkodningshastighet. För att överdriva allmänt, har även icke-bildformat som FLAC liknande begrepp.
Olika komprimeringsnivåer, samma avkodad utgång
Även om filstorlekarna är olika beroende på de olika komprimeringsnivåerna kommer den faktiska avkodade utsignalen att vara identiska. Du kan jämföra MD5-hackarna i de avkodade utgångarna med ffmpeg med MD5-muxern. Detta visar bäst med några exempel.
Skapa PNG-filer
- Som standard använder ffmpeg -compression_level 100 för PNG-utdata.
- Ett snabbt, slarvtest visade att 100 (den högsta komprimeringsnivån) tog ungefär tre gånger längre att koda och fem gånger längre att avkoda än 0 (den lägsta komprimeringsnivån) i det här exemplet.
Jämför filstorlek
Avkod PNG-filerna och visa MD5 Hashes
Eftersom båda hasorna är designade kan vara säker på att de avkodade utsignalerna (de okomprimerade råfilerna) är exakt samma.
Följd av svaret från jjlin:
PNG är förlustfri. GIMP använder sannolikt inte det bästa valet av formulering i det här fallet.
Tänk på det som komprimeringskvalitet eller komprimeringsnivå . Med lägre komprimering får du en större fil, men det tar mindre tid att producera, men med högre komprimering får du en mindre fil som tar längre tid att producera.
Vanligtvis får du avtagande avkastning, dvs inte lika mycket minskning av storleken jämfört med den ökade tiden det tar när man går upp till högsta kompressionsnivåer, men det är upp till dig.
Har något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in den fullständiga diskussionsgängan här.
Så här skannar du ditt nätverk för enheter och öppna portar
Tidigare hade jag skrivit ett inlägg om hur du upptäcker WiFi-leechers på ditt nätverk och nämnde ett par smartphone-appar som du kan använda för att skanna ditt hemnätverk. Apparna gör ett ganska bra jobb med att automatiskt skanna ditt nätverk och ge dig några detaljer på varje enhet.Jag gick inte in i mycket detalj om appar i det inlägget eftersom det var inriktat på att fånga obehöriga användare i ditt nätverk. I den här artike
Zombie Crapware: Hur Windows Platform Binärbord fungerar
Få personer märkte då, men Microsoft lade till en ny funktion till Windows 8 som gör det möjligt för tillverkare att infektera UEFI-firmware med crapware. Windows fortsätter att installera och återuppliva denna skräpprogram även efter att du utför en ren installation. Den här funktionen fortsätter att vara närvarande i Windows 10, och det är absolut mystifying varför Microsoft skulle ge PC-tillverkare så mycket ström.