Pngcrush – PNG суреттерін сапасын төмендетпей қысуға арналған тегін бағдарлама. IDAT деректерін оптимизациялап, өлшемді азайтады. Командалық жолдан басқару мүмкіндігі бар.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Командалық жолды PNG оптимизаторы
Command line PNG optimiser
pngcrush – PNG кескін файлдарын оптимизациялауға арналған тегін және ашық кодты командалық жол құралы. Ол файл мөлшерін сапаны жоғалтпай азайтады, яғни нәтижедегі "қысылған" кескін бастапқы кескінмен бірдей сапада болады. pngcrush-тің басты мақсаты – әртүрлі қысу әдістері мен дельта-сүзгілерді қолданып, PNG IDAT дерек ағынының мөлшерін азайту. Одан әрі, бұл құрал PNG кескіндерін өңдеу үшін де қолданылуы мүмкін, мысалы, бит тереңдігін өзгерту, қажетсіз қосымша бөліктерді жою немесе gAMA, tRNS, iCCP және мәтіндік бөліктер сияқты белгілі бір бөліктерді қосу.
pngcrush is a free and open source command line utility for optimizing PNG image files. It reduces the size of the file losslessly that is, the resulting "crushed" image will have the same quality as the source image. The main purpose of pngcrush is to reduce the size of the PNG IDAT data stream by trying various combinations of compression methods and delta filters. It can also be used for various manipulations of PNG images, such as changing the bit depth, removing unwanted ancillary chunks, or adding certain chunks including gAMA, tRNS, iCCP, and textual chunks.
Негізгі операциясы
pngcrush-тың негізгі қолданысы IDAT бөлімінде сақталған сурет деректерінің мөлшерін азайту болып табылады. PNG файлындағы пиксельдік деректер LZ77 алгоритмімен (көз деректерінде қайталап тұратын байт тізбектерін табуға тырысатын) сығылады, содан кейін Huffman алгоритмімен одан әрі сығылады. Бұл комбинация дефляциялық сығым деп аталады. Сығымдау алдында пиксельдік деректерге бұзбайтын дельта сүзгілері қолданылады. Әрбір сканерлеу жолы үшін жеке-жеке таңдалатын бес түрлі сүзгі және LZ77 сәйкестіктерін іздеудің бірнеше стратегиясы бар. Осылайша, суретті қалай сығымдауға болатындығына қатысты өте көптеген әртүрлі комбинациялар бар. Қай комбинация ең жақсы сығымдауды қамтамасыз етеді, ол суреттің ерекшеліктеріне байланысты болады. pngcrush суретті бірнеше түрлі комбинациялармен сығымдайды, содан кейін нәтижедегі ең кішкентай файлды сақтайды. Барлық комбинацияларды қарау мүмкін болмағандықтан, pngcrush сынап көруге тиіс әдістерді таңдау үшін эвристика қолданады. Көбінесе pngcrush файлды сығымдау үшін бірнеше кең таралған әдістерді пайдаланады. 1.8.12 және одан кейінгі нұсқаларда 176 түрлі сығымдау әдісін, ал 1.7.45-тен 1.8.11-ге дейінгі нұсқаларда 148 сығымдау әдісін сынап көретін күшпен сығымдау үшін опциялық "brute" аргументін қолдануға болады.
The main use of pngcrush is for reducing the size of the image data contained in the IDAT section. The pixel data in a PNG file is compressed using LZ77 algorithm (which tries to find repeated byte sequences in the source data), and then further compressed with Huffman algorithm. This combination is referred to as deflate compression. Before compressing, non destructive delta filters are applied on the pixel data. There are five possible filter types that can be specified separately on each scan line and several possible strategies for searching LZ77 matches. Thus, there are a very large number of different combinations for how the image can be compressed. Which combination gives the best compression will depend on the individual image's properties. pngcrush compresses the image with multiple different combinations and then stores the smallest of the resulting files. Since it is not possible to go through all the combinations, pngcrush uses heuristics to choose the methods to try. By default, pngcrush uses just a few common methods to crush the file. The optional " brute" argument can be used for brute force crushing, which will try 176 different crushing methods on version 1.8.12 and later or 148 crushing methods on versions 1.7.45 through 1.8.11.
Түстерді түзету деректерін алып тастау арқылы файл өлшемін азайту
pngcrush-тің мүмкіндіктерінің бірі – PNG файлдардан түс түзету деректерінің барлығын (гамма, ақ теңгерім, ICC түс профилі, стандартты RGB түс профилі) жою қабілеті. Көптеген графикалық бағдарламалар қажет емес қосымша түс түзету деректерін қосады, сондықтан оларды жою арқылы бастапқы файлдан 40%-ға дейін кішірек файл өлшеміне қол жеткізуге болады. pngcrush, сұралған жағдайда, суреттердің бит тереңдігін жоғалтпай төмендетуге немесе файл өлшемін кішірейтетін болса, түс палитрасын қолдануға дайын. Барлық қосымша және мәтіндік блоктарды жою мүмкіндігі бар.
One of pngcrush's features is the ability to remove all the color correction data (gamma, white balance, ICC color profile, standard RGB color profile) from PNG files. Since most graphics software embed the extra color correction data, which is normally not needed , removing it can produce file sizes that are up to 40% smaller than the original. pngcrush, when told, will also losslessly reduce the bit depth of images or apply a color palette when possible if doing so results in a smaller file size. All ancillary chunks and text chunks can be removed.
Суретті өңдеу
pngcrush суреттің түс кодировкасын өзгертуге мүмкіндік береді. Мысалы, егер суретте 10 түс болса, бірақ 256 жазбадан (8 бит) тұратын түс палитрасы болса, pngcrush түс палитрасын 4 битке дейін азайтып, палитраны 10 жазбаға дейін қысқартуға болады. pngcrush суреттің түс типін де өзгерте алады. Нақты түсті сурет үшін түс типін 2-ден 0-ге өзгерту оны ақ-сұр түске айналдырады. Ақ-сұр суреттер, әдетте, нақты түсті суреттерден кіші болады, себебі қосымша альфа арнасынан басқа, пикселге үш емес, бір ғана 8 биттік арна қолданылады. Ақ-сұр суреттер, әдетте, палитралық суреттерден де кіші болады, өйткені оларға түс палитрасын анықтау қажет емес. Нақты түсті альфа-сурет үшін түс типін 6-дан 2-ге өзгерту альфа арнасын жояды.
pngcrush can be used to change the color encoding of an image. For example, if an image contains 10 colors but has a color palette of 256 entries (8 bit), pngcrush can be used to reduce the color palette to a 4 bit one and truncate the palette to 10 entries. pngcrush can also change the color type of the image. For a true color image, changing the color type from 2 to 0 converts it to greyscale. Greyscale images are generally smaller than truecolor images because, in addition to the optional alpha channel, only one 8 bit channel is used per pixel rather than three. Greyscale images are also generally smaller than paletted images because they do not need to define a color palette. For a truecolor alpha image, changing the color type from 6 to 2 removes the alpha channel.
Блок және метадеректерді өңдеу
PNG кескіндері кескін туралы ақпаратты қамтитын бөліктерден тұрады, мысалы, оның ажыратымдылығы (phys бөлігі), соңғы рет өңделген уақыты (tIME бөлігі) және мәтіндік метадеректер (text бөлігі және оның түрлері). pngcrush бағдарламасымен пайдаланушы осы қосымша бөліктерді өңдеуге немесе жоюға болады.
PNG images contain chunks with information about the image, such as its resolution (the phys chunk), the time it was last modified (the tIME chunk), and textual metadata (the text chunk and its variants). With pngcrush, a user can edit or remove those ancillary chunks.