Чому iPhone робить знімки екрана як PNG?


Відповіді:


64

PNG корисний не тільки для забезпечення прозорості: PNG - це формат без втрат , тоді як JPEG використовує форму стиснення, що втрачає втрату . Також PNG дуже добре стискає скріншоти (на відміну від фотографій з камери, саме тому Apple використовує JPG для цих зображень).


Детальніше, якщо зацікавлено:

введіть тут опис зображення

Крім того, Технічний огляд того, для чого потрібен PNG, варто прочитати (він в основному є однією з головних посилань на цю тему і містить достатньо деталей, щоб витратити день на неї). Витяг:

Для Інтернету станом на початок 1999 р. Існує два формати зображень із всюдисущою підтримкою: JPEG та GIF. JPEG дуже добре підходить до того завдання, для якого він був розроблений, а саме: зберігання, передача та показ фотореалістичних 8-бітових градацій сірого та 24-бітового truecolor зображень з хорошою якістю та відмінною компресією - і PNG ніколи не передбачався конкурувати з JPEG на власних умовах. Але PNG, як GIF, є більш підходящим, ніж JPEG для зображень з невеликою кількістю кольорів або з великою кількістю гострих країв, наприклад, мультфільмів або растрового тексту. PNG також надає пряму підтримку корекції гамми (слабко кажучи, керування яскравістю міжплатформового зображення) та прозорості. Я обговорю це детальніше найближчим часом.

GIF був оригінальним форматним зображенням для багатьох платформ для Інтернету, і це багато в чому хороший вибір. Але PNG був розроблений спеціально для заміни GIF, і він має три основні переваги перед старшим форматом: альфа-канали (змінна прозорість), гамма-корекція та двовимірне переплетення (метод відображення зображень на прогресивно більш високих рівнях деталізації). PNG також стискає краще, ніж GIF майже у кожному випадку, але різниця, як правило, становить лише від 5% до 25%, що є (як правило) недостатньо великим фактором, щоб спонукати когось перейти лише на цій основі. Однією з функцій GIF, яку PNG не намагається відтворити, є підтримка кількох зображень, особливо анімація; PNG був і призначений лише для формату одного зображення. Для вирішення цього обмеження було розроблено дуже PNG-подібний формат розширення під назвою MNG.


3
До речі, ключова відмінність скріншотів від фотографій з камери полягає в тому, що скріншоти мають в основному геометричні фігури і не є "нечіткими", як виглядають фотографії з камери (тому фотографія, стиснута PNG, цілком може бути більшою за оригінал). Однак, щоб добре стиснути дані камери, втрачається деяка точність, тому ви не використовуєте їх у світі ідеально гострих ліній та точного розташування, що є скріншотом.
cpast

4
Інакше кажучи, ключова відмінність полягає в зміні моделей даних на піксель на фотографіях порівняно з більшою кількістю наданих графіків. Послуги, що надаються графіки , як правило , містять області однаковою забарвлення і прозорості, що PNG в повторенні -орієнтованої ручки стиснення добре. З іншого боку, фотографії демонструють безперервні, складні зміни в зображенні через складність фізичного світу, який вони фіксують. Повторення практично немає. Тож JPEG застосовує інший підхід, сприймаючи варіацію, кодуючи частотний простір зображення, його коефіцієнти Фур'є.
Террі N

Гарне шоу та розповідь. Ви визначаєте щодня дізнаватися щось нове.
Мухнамана

1
Це викликає вагомий момент, і той, хто з нас, хто займався розробкою веб-сторінок у 90-х та на початку 2000-х, лише надто обізнаний, але залишається, що якщо ви можете вибрати лише один формат, ПНГ, як правило, найкращий. Неправильний вибір PNG призводить до розміру файлів, більших за необхідне, тоді як неправильний вибір JPG може призвести до отримання більших файлів, ніж це необхідно, та / або втрати якості.
Історія Джона

@Franck, Цитування, необхідне для "PNG було розроблено спеціально для заміни GIF" ,
Pacerier

50

Тому що це:

Скріншот PNG

виглядає набагато краще, ніж це:

Скріншот JPEG

ОК, так що я повинен був провернути JPEG якість стиснення шляху вниз , щоб артефакти стиснення, очевидні, але питання залишається - це PNG скріншот показує саме те , що ви бачите на екрані, в той час як скріншот JPEG це завжди трохи з втратами (та , навіть якщо ви закрутили якість до 100).

Крім того, PNG, як правило, дуже добре стискає зображення з великими площами плоского кольору, гострими краями та повторюваними візерунками (як текст). Таким чином, у багатьох випадках скріншот PNG без втрат насправді може бути меншим, ніж скріншот JPEG, збережений на будь-якому прийнятному рівні якості.


5
реквізит для показу, а не розповідь!
япресс

Але тут PNG в 4 рази більше розміру JPEG (33ко проти 8 ко). Можливо, вам слід спробувати завантажити JPEG того ж розміру, що й PNG, для справжнього порівняння
Thomas Ayoub

@Thomas: Ось 35 кБ JPEG для порівняння. Це не так вже й погано, як крихітний 8 кБ, але все ще має видимі артефакти стиснення, такі як сіра облямівка тексту. Хоча для відповіді я хотів приклад, коли артефакти будуть очевидні , навіть якщо ваш екран / зір поганий.
Ільмарі Каронен

Я розумію, але краще порівнювати яблука з яблуками, адже якщо ви принесете моркву, то ваша приємна відповідь стане напівприємною відповіддю. У всякому разі, я проголосував за візуальний приклад :)
Thomas Ayoub

Там також є сенс, що ми перестали дбати про кілобайти добре десятиліття тому: PNG - це найкраще стиснення без втрат, тому зазвичай це найкращий вибір, якщо просто місце не є надбавним. У світі відео високої чіткості кілька кілометрів на фотографії вже не викликають занепокоєння.
Історія про Джон

10

Однією з функцій скріншоту є показ комусь іншого певного візуального артефакту, який ви бачите на своєму пристрої - можливо, показати візуальний глюк розробнику програми. У таких випадках будь-які артефакти стиснення можуть бути відволіканням від фактичного питання, що обговорюється; скріншот повинен бути ідеальним для пікселів.

Таким чином, формат без втрат, як .PNG, є обов'язковим.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.