Файл форматтары
PNG дегеніміз не? Шығынсыз қысу және мөлдірлік
PNG әр пиксельді дәл сақтайтын және толық мөлдірлікті қолдайтын шығынсыз сурет форматы. Оның GIF патент дауынан қалай туғанын, қысуы қалай жұмыс істейтінін және қашан дұрыс таңдау екенін түсіндіреміз.
Автор: Hemen Dönüştür Editör EkibiЖарияланды: 6 мин оқу

PNG (Portable Network Graphics) суреттерді ешбір детальды жоғалтпай сақтайтын және толық мөлдірлікті қолдайтын сурет форматы. Ол скриншоттар, логотиптер, белгішелер және интерфейс графикасы үшін стандартқа айналды. Бұл мақалада PNG-нің неге жасалғаны, қысуы қалай жұмыс істейтіні, неге кейде өте үлкен файлдар беретіні және PNG суреттерін түрлендіру бойынша практикалық кеңестер қарастырылады.
PNG қалай пайда болды: GIF және LZW патенті
1990 жылдардың басында вебтегі графиканың көбі GIF болатын, ал GIF Unisys патенттеген LZW қысу алгоритмін қолданатын. Грег Рулофстың формат тарихына сәйкес, CompuServe мен Unisys арасындағы лицензиялық келісім 1994 жылғы 28 желтоқсанда үнсіз жарияланып, GIF файлдарын жазатын бағдарламалардан лицензиялық төлем алыну қаупін туғызды. Usenet-тегі наразылықтан кейін Томас Бутелл 1995 жылғы 4 қаңтарда ол кезде «PBF» деп аталған патентсіз форматтың алғашқы жобасын жариялады. «PNG» атауы 6 қаңтарда ұсынылып, 1995 жылғы 23 қаңтарда 5-жобада қабылданды. Спецификация 1995 жылғы 7 наурызда 9-жобамен бекітілді.
W3C PNG-ті 1996 жылғы 1 қазанда Ұсыным ретінде жариялады, ал Library of Congress мәліметі бойынша сол мәтінді IETF 1997 жылдың қаңтарында RFC 2083 ретінде жариялады. Қателер түзетілген екінші басылым 2003 жылғы 10 қарашада шығып, ISO/IEC 15948 халықаралық стандартына айналды. 2025 жылғы 24 маусымда жарияланған W3C PNG үшінші басылымы анимациялы PNG-ті (APNG), HDR сигнализациясына арналған cICP блогын және EXIF деректеріне арналған eXIf блогын ресми спецификацияға енгізді.
PNG қысуы қалай жұмыс істейді
PNG шығынсыз: файлды ашқанда алатын пиксельдеріңіз сақталған пиксельдермен бит бойынша бірдей. Файл екі кезеңде кішірейтіледі.
1. Жол сүзгілері
Қысу алдында әр пиксель жолы сүзгіден өтеді. Сүзгі пиксель мәнінің өзін емес, оның көршілерінен айырмасын сақтайды, ал біркелкі не бірқалыпты аймақтарда бұл айырмалар нөлге жақын болады, сондықтан әлдеқайда жақсы қысылады. Спецификация бес сүзгі түрін анықтайды: None, Sub (сол жақтағы пиксель), Up (жоғарыдағы пиксель), Average (сол жақ пен жоғарғының орташасы) және Paeth (сол жақтағы, жоғарғы және жоғарғы сол жақтағы пиксельдерден болжам). Кодтағыш әр жолға әр түрлі сүзгі таңдай алады.
2. DEFLATE
Сүзілген деректер ZIP файлдарында қолданылатын DEFLATE алгоритмімен қысылып, IDAT блоктарының ішінде zlib форматында сақталады. Бұл спецификация анықтайтын жалғыз қысу әдісі және ол ең көбі 32 КБ жылжымалы терезені қолданады. Әр бағдарлама бір суреттен әр түрлі өлшемді PNG жасайды, себебі олар сүзгі таңдауға және DEFLATE баптауларына азды-көпті күш жұмсайды; суреттің өзі бірдей.
Блок құрылымы
PNG файлы 8 байттық қолтаңбадан басталады, одан кейін блоктар (chunks) келеді: тақырыпқа арналған IHDR, сурет деректеріне арналған IDAT және файлды жабатын IEND. Міндетті емес блоктар түс профилін (iCCP), гамманы (gAMA), мәтінді (tEXt, iTXt) және қарапайым мөлдірлікті (tRNS) сақтай алады.
Түс түрлері, бит тереңдігі және мөлдірлік
PNG сұр реңкті, палитралы (индекстелген) және толық түсті суреттерді қолдайды. Library of Congress мәліметі бойынша үлгі тереңдігі 1-ден 16 битке дейін; әдеттегі RGB суреттері әр арнаға 8 бит (24 бит), ал қажет болса әр арнаға 16 бит (48 бит) қолданады. Міндетті емес альфа арнасы әр пиксель үшін жеке мөлдірлік мәнін сақтайды. Бұл GIF-тің қарапайым «бар не жоқ» мөлдірлігінен әлдеқайда икемді: көлеңкелер, жұмсақ жиектер және жартылай мөлдір қабаттар дұрыс көрінеді.
Міндетті емес Adam7 кезектестіру суретті жүктелу кезінде алдымен дөрекі көрсетіп, кейін анықтауға мүмкіндік береді, бірақ әдетте файлды үлкейтеді.
Палитралы PNG және түстерді азайту
Палитралы (индекстелген) PNG-те әр пиксель түстің өзін емес, ең көбі 256 элементтен тұратын палитрадағы индексті сақтайды. Түсі аз логотиптер, белгішелер және жалпақ иллюстрациялар осылайша өте шағын файлдарға сыяды. Палитралы PNG-лер tRNS блогы арқылы палитра элементтеріне жеке мөлдірлік мәндерін де бере алады, сондықтан GIF-тен айырмашылығы, жартылай мөлдір палитра түстері мүмкін.
Алайда фотосуретті не градиентті палитралы PNG-ке дейін азайту түс жолақтары мен дизеринг өрнектерін тудырады. Сондықтан түстерді азайту сурет түріне қарай таңдалатын алдын ала өңдеу қадамы; PNG форматының өзі шығынсыз болып қала береді.
PNG қаншалықты кең қолданылады?
W3Techs-тің 2026 жылғы қазандағы деректері PNG-тің ол бақылайтын сайттардың 74,9%-ында қолданылатынын көрсетеді, бұл оны сайттардағы ең кең қолданылатын сурет форматына айналдырады. HTTP Archive Web Almanac 2024 бойынша мобильді беттердегі суреттердің 28,4%-ы PNG, бұл тек JPEG-тен (32,4%) кейінгі орын. Сол есеп PNG медианасын пиксельге 3,8 бит деп көрсетеді, ал JPEG-те бұл 2,0, WebP-те 1,3. PNG-тің сайттардағы кең таралуы негізінен мөлдірлікті қажет ететін логотиптер мен белгішелерге байланысты; үлкен фотосуреттерді PNG түрінде беру беттерді қажетсіз ауырлатады.
PNG-ті қашан қолдану керек, қашан басқасын таңдау керек
| Мазмұн | Ұсыныс |
|---|---|
| Скриншоттар, интерфейстер, мәтіні бар графика | PNG (не шығынсыз WebP) |
| Мөлдір фонды логотиптер мен белгішелер | PNG; векторлық көзіңіз болса, SVG |
| Фотосуреттер | JPG, WebP не AVIF; PNG қажетсіз үлкен |
| Әрі қарай өңдейтін жұмыс көшірмелері | PNG; қайта сақтағанда шығын жиналмайды |
| Вебке арналған, мөлдірлігі бар фотоға ұқсас суреттер | WebP не AVIF; олар мөлдірлікті сақтап, файлды кішірейтеді |
Google-дың WebP бетінде шығынсыз WebP суреттері PNG-ден 26% кіші екені айтылған. Бұл WebP-ті браузерде көрсетілетін графика үшін жақсы балама етеді, бірақ PNG-тің үйлесімділігі әлі де кеңірек және оны дерлік кез келген бағдарлама аша алады.
Жиі кездесетін мәселелер
PNG файлым неге соншалық үлкен?
Ең жиі себебі PNG ретінде сақталған фотосурет. Фотосуреттердегі шу мен ұсақ детальдар шығынсыз жақсы қысылмайды, сондықтан сол сурет JPG не WebP түрінде бірнеше есе кіші болуы мүмкін. Скриншоттарда файл өлшемі ажыратымдылыққа тікелей байланысты өседі.
JPG-ді PNG-ге түрлендіру сапаны жақсартпады
PNG пиксельдерді сақтау сәтіндегі күйінде сақтайды. JPG қысуынан болған шығындар мен блок артефактілері түрлендіруге дейін суреттің бір бөлігіне айналған, және PNG оларды да дәл сақтайды.
JPG-ге түрлендіргеннен кейін мөлдірлік жоғалды
JPG-де альфа арнасы жоқ. Түрлендіру кезінде мөлдір пиксельдер тұтас түспен толтырылады; түс таңдамасаңыз, бағдарламаның әдепкі түсі (әдетте ақ не қара) қолданылады.
Түстер өзгеше көрінеді
PNG түс профилі мен гамма ақпаратын тасымалдай алады. Мұны әр түрлі түсіндіретін бағдарламалар сәл өзгеше түстер көрсетуі мүмкін. Вебке арналған суреттер үшін sRGB қолдану ең қауіпсіз тәсіл.
PNG түрлендіру бойынша кеңестер
- Фотоға ұқсас PNG-лерді кішірейтіңіз. PNG-ді JPG-ге түрлендіргенде әдепкі сапа 90; мөлдір аймақтар әдепкі бойынша ақпен толтырылады, және басқа фон түсін таңдай аласыз.
- Мөлдірлікті сақтау үшін PNG-ді WebP-ке не PNG-ді AVIF-ке түрлендіріңіз; екі формат та альфа арнасын сақтайды. WebP-те әр пиксель дәл бірдей қалуы керек болса, «Шығынсыз WebP» құсбелгісін қойыңыз; файл үлкеюі мүмкін.
- PNG-ді PNG күйінде қалдырып кішірейтудің мүмкіндігі шектеулі: сурет өзгермейінше, ұтыс тек жақсырақ сүзгілер мен қысуды сынап көру арқылы ғана келеді. Біздің суретті қысу құралы қозғалмайтын PNG-лерді әдепкі бойынша WebP-ке түрлендіреді; PNG-ті сақтағыңыз келсе, қосымша PNG оңтайландыру параметрі бірде-бір пиксельді өзгертпей файлды кішірейтуге тырысады.
- Белгіше керек пе? PNG-ден ICO-ға түрлендіргіш шаршы белгішені 16, 32 және 48 пиксель өлшемдерінде (сурет жеткілікті үлкен болса, үлкенірек өлшемдерде де) бір файлға жинайды.
- Бұл түрлендірулер браузеріңізде орындалады, сондықтан файлдарыңыз құрылғыңыздан ешқашан шықпайды. EXIF және орын деректері нәтижеге жазылмайды.
Жиі қойылатын сұрақтар
PNG шығынмен бе, әлде шығынсыз ба?
PNG шығынсыз. Файлды қанша рет ашып, сақтасаңыз да, пиксельдер өзгермейді. Кейбір құралдар «шығынмен PNG» деп атайтын нәрсе палитралы PNG жасау үшін сақтау алдында түстер санын азайту; шығын форматта емес, осы алдын ала өңдеу қадамында болады.
PNG анимацияны қолдай ма?
Негізгі PNG қолдамайды. APNG кеңейтімі анимация қосады, және ол W3C PNG үшінші басылымымен спецификацияның бөлігіне айналды. MDN мәліметі бойынша барлық қазіргі браузерлер APNG-ті көрсетеді, бірақ көптеген сурет редакторлары оның тек бірінші кадрын ашады.
PNG-8 және PNG-24 нені білдіреді?
Бұл атаулар спецификацияда жоқ; оларды бағдарламалар қысқартып қолданады. PNG-8 әдетте 256 түске дейінгі палитралы PNG-ті, PNG-24 пиксельге 24 бит болатын толық түсті PNG-ті, ал PNG-32 альфа арнасы бар RGBA PNG-ті білдіреді.
PNG қолдану керек пе, әлде WebP пе?
Сурет веб-бетте көрсетілетін болса, WebP әдетте кішірек файл береді және мөлдірлікті де сақтайды. Суретті басқа бағдарламаларда өңдейтін, біреуге жіберетін не мұрағаттайтын болсаңыз, PNG кеңірек үйлесімділік береді.
PNG баспаға жарамды ма?
Сапасы жағынан иә, себебі ол шығынсыз, бірақ PNG CMYK түс моделін қолдамайды. Кәсіби баспа процестерінде әдетте TIFF не PDF таңдалады.
Дереккөздер
- W3C: Portable Network Graphics (PNG) Specification (Third Edition)
- W3C: PNG шолуы және тарихы
- Greg Roelofs: History of the Portable Network Graphics (PNG) Format
- Library of Congress: PNG форматының сипаттамасы
- Google for Developers: An image format for the Web (WebP)
- MDN: Image file type and format guide
- W3Techs: Usage statistics of image file formats for websites
- HTTP Archive Web Almanac 2024: Media


