da.phhsnews.com


da.phhsnews.com / PNG-formatet er tabt, da det har en komprimeringsparameter?

PNG-formatet er tabt, da det har en komprimeringsparameter?


PNG-formatet skal være et tabsløst format, men når du gemmer et billede som en PNG-fil, bliver du bedt om Vælg et komprimeringsniveau. Betyder dette, at PNG-formatet faktisk ikke er tabsløst? Dagens SuperUser Q & A-indlæg hjælper med at rydde op for forvirringen for en nysgerrig læser.

Dagens Spørgsmål og Svar session kommer til os med venlig hilsen af ​​SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder.

SuperUser-læser pkout ønsker at vide, om kvaliteten af ​​et PNG-billede påvirkes af det valgte komprimeringsniveau:

Som jeg forstår, bruger PNG-filer lossless komprimering. Men når jeg bruger et billedredaktør som Gimp og forsøger at gemme et billede som en PNG-fil, beder den om et kompressionsniveau, der varierer mellem 0 og 9.

Hvis den har en komprimeringsparameter, der påvirker den visuelle præcision af det komprimerede billede, hvordan er PNG tabsløs da? Kan nogen forklare det her for mig? Får jeg kun tabsfri adfærd, når jeg indstiller kompressionsniveauet til 9?

Er der forskel på billedets kvalitet afhængigt af det kompressionsniveau du vælger?

Svaret

SuperUser-bidragsydere LordNeckbeard og jjlin har svaret for os. Først op, LordNeckbeard:

PNG er komprimeret, men lossless

Kompressionsniveauet er et kompromis mellem filstørrelse og kodning / dekodningshastighed. For meget at generalisere har selv ikke-billedformater som FLAC lignende begreber.

Forskellige komprimeringsniveauer, samme dekodet udgang

Selv om filstørrelserne er forskellige på grund af de forskellige kompressionsniveauer, vil den faktiske dekodede udgang være identisk. Du kan sammenligne MD5-hashene i de afkodede udgange med ffmpeg ved hjælp af MD5-muxeren. Dette er bedst vist med nogle eksempler.

Opret PNG-filer

Som standard bruger ffmpeg -compression_level 100 til PNG-output.

  • En hurtig sløv test viste, at 100 (det højeste komprimeringsniveau) tog omkring tre gange længere for at kode og fem gange længere at afkode end 0 (det laveste komprimeringsniveau) i dette eksempel.
  • Sammenlign filstørrelse

Afkode PNG-filer og Vis MD5 Hashes

Da begge hash er de samme, Det kan sikres, at de afkodede udgange (de ukomprimerede råfiler) er nøjagtigt ens.

Efterfulgt af svaret fra jjlin:

PNG er tabsløs. GIMP bruger sandsynligvis ikke det bedste valg af formulering i dette tilfælde.

Tænk på det som

komprimeringskomprimering eller kompressionsniveau . Med lavere komprimering får du en større fil, men det tager mindre tid at producere, mens der med højere komprimering får du en mindre fil, der tager længere tid at producere. Typisk får du faldende afkast, dvs. ikke så meget fald i størrelse sammenlignet med den stigning i tid, det tager, når du går op til de højeste kompressionsniveauer, men det er op til dig.

Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Se hele diskussionsgruppen her.



Sådan deaktiverer du Android's Swype-lignende Gestus-typing

Sådan deaktiverer du Android's Swype-lignende Gestus-typing

Okay, hurtige tommelfingerhuller, du ved hvordan dette virker: Du skriver en super vigtig SMS-besked ved breakneck-hastighed, når alle en pludselig opdager tastaturet din Flash-lignende tapping hurtighed som en swipe. Doh! Nu i stedet for at sige "Ja, jeg vil elske at gå i biografen i weekenden!" Du lige faldt en "Travis lobectomy govtfilm denne skrevet!

(how-to)

Sådan kan du nemt kaste lokale mediefiler fra Android til Chromecast

Sådan kan du nemt kaste lokale mediefiler fra Android til Chromecast

Det er virkelig nemt at kaste ting som YouTube og Netflix-videoer fra din Android-telefon til din Chromecast, men hvad med video gemt på din telefon eller endda på dit hjemmenetværk? Læs videre, da vi hjælper en nysgerrig læser til at sende filer fra sin telefon til den store skærm. Kære How-To Geek, Jeg har taget til at bruge min Chromecast dagligt til YouTube og Netflix, men jeg er begrænset til specialitet Medieapps, der har indbygget Chromecast-funktionalitet?

(how-to)