Pngcrush

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2020. július 11-én felülvizsgált verziótól ; az ellenőrzések 2 szerkesztést igényelnek .
png összetörni
Típusú Képoptimalizáló
Szerző Glenn Randers Pehrson
Beírva C
Operációs rendszer Többplatformos szoftver
legújabb verzió 1.7.12 ( 2010.08.6 ) _
Engedély libpng licenc [d]
Weboldal pmt.sourceforge.net/pngc…

A pngcrush  egy ingyenes és nyílt forráskódú segédprogram. A PNG képszűrők optimalizálására szolgál . Lehetővé teszi a fájl méretének veszteség nélküli csökkentését - ez azt jelenti, hogy a "zúzott" képek az eredeti kép minőségével rendelkeznek.

A pngcrush fő célja a PNG méretének csökkentése IDAT adatfolyam segítségével, tömörítési módszerek és deltaszűrők kombinációjával. A pngcrush azonban más PNG-képekkel kapcsolatos műveletekre is használható, például a kép mélységének módosítására vagy a nem kívánt kiegészítő blokkok eltávolítására, bizonyos blokkok hozzáadására, beleértve a gAMA , tRNS , iCCP és egy szövegblokkot.

Alapműveletek

A pngcrush fő célja a képen szereplő IDAT szakasz adatok méretének csökkentése.

A PNG-fájlban lévő pixeladatokat az LZ77 algoritmussal tömörítik (amely ismétlődő bájtsorozatokat talál a forrásfájlban), majd a Huffman-algoritmussal tömöríti azokat . Ez a kombináció a DEFLATE algoritmusra emlékeztet bennünket . A tömörítés előtt egy biztonságos deltaszűrőt alkalmaznak a pixeladatokra

5 lehetséges szűrőtípus létezik, amelyek külön-külön használhatók minden egyes szkennelési lépéshez. Elvileg több módja is van az LZ77 egyezések keresésének. Így egy kép tömörítésének számos különféle kombinációja létezik. Hogy melyik tömöríti jobban, az magának a képnek a tulajdonságaitól függ [1]

A pngcrush több különböző kombinációval tömöríti a képet, majd az eredményül kapott fájlok közül a legkisebbet menti [2] Mivel nem lehetséges az összes lehetséges kombinációt megvalósítani, a pngcrush bizonyos heurisztikát használ az elérési út kiválasztásához.

A legegyszerűbb esetben a pngcrush meghívható egy "zúzott" fájl létrehozására egy nem optimalizált fájlból a következő formátum használatával, a következő paranccsal:

pngcrush imageIn.png imageOut.png

Alapértelmezés szerint a pngcrush csak néhány általános fájltömörítési módszert használ. Az opcionális "-brute" tömörítési módszer használható nyers erővel történő tömörítéshez, amely több mint 100 különböző tömörítési módszert használhat.

Fájlméret csökkentése színadatok eltávolításával

A pngcrush egyik jellemzője az összes színkorrekciós adat (gamma, fehéregyensúly, ICC színprofil, szabványos RGB-profil) eltávolítása egy PNG-fájlból a következő parancsokkal:

pngcrush -rem gAMA -rem cHRM -rem iCCP -rem sRGB InputFile.png OutputFile.png

Mivel a legtöbb grafikus szoftver további színkorrekciós adatokat szúr be, amelyekre általában nincs szükség. A törlés 40%-kal csökkenti az eredeti fájl méretét. A Pngcrush veszteség nélkül csökkentheti a kép bitmélységét, vagy színpalettát alkalmazhat , ha ez mérettömörítést eredményez.

Minden segédblokk és szöveg eltávolítható a következő paranccsal:

pngcrush -rem gAMA -rem alla -rem szöveg InputFile.png OutputFile.png

A kép megváltoztatása

A Pngcrush használható egy kép színkódolására. Ha 10 színt használunk, de a színpaletta 256 (8 bites), a pngcrush képes lesz a palettát 4 bitesre konvertálni, és 10 színre lecsonkítani:

pngcrush -bit_depth 4 -plte_len 10 image1.png image2.png

A pngcrush is használható a szín megváltoztatására. Valódi színű kép esetén a színárnyalat 2-ről 0-ra ( -c 0) történő módosítása fekete-fehérre (szürkeárnyalatos) módosul. Egy ilyen kép lényegesen kisebb, mint az eredeti, mert az Alpha csatornán kívül csak egy 8 bites csatorna van pixelenként, nem három. A fekete-fehér kép is sokkal kisebb, mert nem igényel színpalettát . Színes képek esetén a színtípus 6-ról 2-re történő módosítása eltávolítja az alfa-csatornát.

Manipulációk metaadatokkal és blokkokkal

A PNG-képek a képre vonatkozó információkat tartalmazó blokkokat tartalmaznak, mint például a felbontás (fizikai blokk), az utolsó módosítás dátuma (tIME blokk) és a szöveges metaadatok (szövegblokk és változatai). A pngcrush használatával a felhasználó szerkesztheti vagy törölheti ezeket a segédblokkokat:

pngcrush -res 96 -rem time -text b "Szoftver" "pngcrush" image1.png image2.png

Ez a parancs 96 dpi - re módosítja a felbontást , eltávolítva az időbélyegeket, az "image creator" tulajdonságot pedig "pngcrush"-ra.

Lásd még

Hasonló PNG kompresszorok:

Hasonló programok JPG-hez:

Jegyzetek

  1. Cosmin Truta. Útmutató a PNG optimalizáláshoz (nem elérhető link) (2008. május 10.). Letöltve: 2010. július 31. Az eredetiből archiválva : 2012. július 1.. 
  2. Whedon, David man pngcrush (downlink) . Letöltve: 2010. július 31. Az eredetiből archiválva : 2012. július 1.. 

Linkek