PNG пішімі
PNG өзіне салынған пиксельдерді дәл сол күйінде қайтарады: сығымдау жолдық сүзгілердің үстінен Deflate алгоритмімен жүреді, түстің бірде-бір байты дөңгелектенбейді. Күшті жағы осыдан — дәл скриншоттар, айқын сызықтар, логотиптер және 256 дәрежелі толыққанды альфа-арна. Әлсіздігі де осыдан: фотосуретте көрші пиксельдер қайталанбайды, болжайтын ештеңе жоқ, сондықтан файл сырт көзге бірдей JPEG-тен бес-он есе ауыр шығады.
Сандар туралы қысқаша
- Сығымдау түрі
- жоғалтусыз: бес жолдық сүзгінің үстінен Deflate
- Мөлдірлік
- пиксельге 8 не 16 биттік альфа-арна, 256 дәреже
- Файл сигнатурасы
- 89 50 4E 47 0D 0A 1A 0A — алғашқы сегіз байт
- PDF-тегі сүзгі
- FlateDecode, альфа бөлек маскамен көшеді
- Конвертеріміз не істейді
- PNG байттарын құжатқа қайта кодтамай кірістіреді
Жоғалтусыз сығымдау неге ықшам шығады
Сығымдау алдында пиксельдердің әр жолы бес сүзгінің бірімен қайта жазылады: сол күйінде қалдыру, сол жақ көршіні азайту, жоғарғысын азайту, олардың орташасын азайту немесе Пэт болжағышын қолдану. Кодтаушы әр жолға сүзгіні бөлек іріктейді. Градиентте көршілердің айырмасы нөлге жуық, біртекті құюда — дәл нөл, ал Deflate мұндай тізбектерді бірер байтқа сығады.
Бұдан PNG қай жерде ұтып, қай жерде ұтылатыны тікелей шығады. Интерфейс, сызба, тақтадағы мәтін, кесте скриншоты — көрші пиксельдер сәйкес келеді, файл кішкентай әрі дәл. Жапырақ немесе тері фотосуреті — айырмалар кездейсоқ, болжам жұмыс істемейді, PNG JPEG төлемейтін шуды адал жазып отырады.
Мөлдірлік пен палитра
- Толық түсті PNG пиксельге 8 не 16 биттік альфа-арна көтереді — бұл контурмен қиылған сұлба емес, біркелкі жартылай мөлдір жиектер.
- Палитралы PNG 256 түске дейін сақтап, олардың мөлдірлігін бөлек кестемен береді, сондықтан палитрадағы логотип толық түстіден төрт есе жеңіл.
- Базалық PNG-де анимация жоқ: қозғалатын суреттер — APNG кеңейтімі, оны барлық бағдарлама түсіне бермейді.
- PNG-де бағдар тегі жоқ, сондықтан PNG сурет құжатқа ешқашан қырынан жатпайды — бұл бәле тек JPEG-те болады.
PDF ішіндегі PNG
PDF PNG-мен бір сығымдау тұқымдасын — FlateDecode-ты — пайдаланады, сондықтан сурет құжатқа қайта кодталмай көшеді. Конвертеріміз файл байттарын оқып, тікелей PDF-ке береді: бұл қадамда канвас та, қайта кодтау да, сапа жоғалту да жоқ.
Мөлдірлік құжатта жоғалмайды: альфа-арна суреттің бөлек маскасына айналады. Практикалық мәні қарапайым — беттің үстіне қойылған мөлдір фонды логотип мөлдір фонымен қалады. Ал PDF-ті мақсатты көлемге дейін сығымдағанда беттер растеризацияланады, сол жерде мөлдірлік мәтін қабатымен бірге жоғалады.
Жиі қойылатын сұрақтар
Фотосуреті бар PNG неге он мегабайт тартады?
Себебі ол әр пиксельді, матрица шуын қоса, дәл жазып алған. Жоғалтусыз сығымдау көрші пиксельдердің қайталануына сүйенеді, ал фотосуретте ондай қайталану жоқтың қасы. Суреттерге JPEG не WebP алыңыз.
PNG-ді PDF-ке салсам, мөлдір фон сақтала ма?
Иә, альфа-арна құжатқа суреттің бөлек маскасы ретінде көшеді. Ерекшелік — PDF-ті берілген көлемге дейін сығымдау: онда беттер суретке айналады да, мөлдірлік мәтін қабатымен бірге жоғалады.
PNG-ді сапасын жоғалтпай сығымдауға бола ма?
Палитраны 256 түске дейін азайтуға немесе жол сүзгілерін агрессивті іріктеуге болады, пиксельдер дәл қалады. Біздің сурет сығымдағышымыз шығысында тек JPEG пен WebP береді, өйткені жоғалтусыз сығатын ештеңесі жоқ.
Скриншот үшін PNG JPG-ден несімен жақсы?
Айқын шекараларымен. JPEG контрастты өтулерді 8×8 блоктармен жағып жібереді, сондықтан интерфейс мәтінінің айналасы бұлдырайды. PNG әріптерді пиксельмен сақтайды, скриншот кез келген үлкейтуде оқылады.