Бележки от екипа за майсторството, форматите и малките решения зад добрия кръгъл изрез.
Защо фотографските PNG са толкова големи
PNG обещава да запише всеки пиксел, без да губи нито един, и това обещание е скъпо при снимка. С милиони меко изместващи се тонове почти няма какво компресорът да предскаже или да свие, така че файлът се издува. Най-обикновена снимка 1600x1200 може да седи на 3 до 5 MB като PNG, а същото това изображение като JPEG при качество 85 се побира в 200 до 400 KB. Разликата опира до косинусовото преобразуване, на което JPEG се обляга, което нарязва изображението на блокове 8x8, отхвърля високочестотния детайл, който окото едва регистрира, и опакова стегнато това, което остава. Материал с непрекъснат тон, тоест почти цялата фотография, се свива драматично. Съвършената вярност на PNG си заслужава при плоски графики и работи в развитие, но е просто грешната опаковка за снимка, която смятате да споделите.
Прозрачността и алфа каналът
8-битов алфа канал позволява на PNG да запише всяко ниво на непрозрачност на пиксел, от напълно бистро до напълно плътно. JPG не предлага такова поле, така че прозрачността няма къде да живее. Когато графичният двигател възстановява PNG като JPEG, той първо полага картината върху избран фон, и този фон по подразбиране е бял, което е точно причината бистрите области да се четат бели после. Изводът е рязък, прозрачен JPG не може да съществува, защото форматът няма представа за него. Когато изрязаното трябва да оцелее, WebP или недокоснатият PNG са единствените ви пътища. Araluma се спира на бялото за запълване, защото то се слива с документите, слайдовете и витринните обяви, където тези JPG най-често попадат.
Измерена производителност на записа
Всички тези идват от Chrome 148 на настолен Linux, облягайки се на собствения JPEG запис на браузъра. При 0,12 MP миниатюра 400x300 се загръща за около 10 до 15 милисекунди. Качете до 0,78 MP, кадър 1024x768, и седи близо до 13 до 20 милисекунди. Кадър 8 MP при 3840x2160 иска около 1,4 секунди, и дори чудовище 48 MP при 8000x6000 моли само за около 1,5 секунди. Да запишеш JPG по този начин лесно изпреварва записа на PNG на същата картина, и съвсем оставя зад себе си AVIF, който трябва да зареди отделен модул и може да се мъчи 25 секунди на онова изображение 48 MP дори на настолен компютър. Взето заедно, това е сред най-бързите маршрути където и да е в семейството за превръщане, и не струва нищо допълнително да се зареди, тъй като записвачът на JPEG вече живее във всеки браузър.
Обработка на EXIF и метаданни
Възстановяването на изображението изчиства етикетите EXIF, IPTC и XMP от получения JPG във всеки браузър, което измита GPS координатите, тялото на камерата, времевия печат на заснемане, текста за авторски права и каквито потребителски полета PNG е носил. Цветовите профили ICC поемат отделен маршрут, където Chrome и Safari запазват профила sRGB на изхода, докато Firefox го изтрива заедно с всичко останало. Така JPG е безопасен в sRGB навсякъде, но широкогамутен етикет като Display-P3 или Adobe RGB няма да мине през Firefox. Ако конвейерът ви зависи от задържането на всички тези метаданни, управлявайте ги със специален инструмент след това. За всекидневен уеб и споделяне загубата на етикетите е добре дошла, отрязвайки малко тегло и издърпвайки данните за местоположение от снимките ви.
Кога артефактите на JPG са видими
JPEG разсъждава на блокове 8x8. Пуснете рязък скок между два много различни цвята вътре в един блок и компресията на JPEG може само да го скицира с шепа честотни членове, оставяйки ореоли, бледа сияеща ивица от по-светли или по-тъмни пиксели, прегръщаща ръба. Снимките крият това добре, тъй като ръбовете им никога не са бръснарски остри и околната микровариация маскира приближението. Но екранни снимки, лога, кутии с ясни граници, букви, или съседни плочи плосък цвят го излагат при всяко качество, защото точно това е сигналът, с който математиката се бори. Правилото се пише само, дръжте екранни снимки, лога и материал, гъст с текст, извън JPG. Оставете ги в PNG, или минете на WebP за слаб файл, който изобщо заобикаля ореолите.
Поверителност и къде попада работата
Къде попада работата зависи от количеството. За едно изображение нищо не напуска браузъра и можете да го проверите на живо за секунди. Отворете DevTools на Chrome, преминете в панела Мрежа, филтрирайте по XHR и Fetch и преобразувайте файл. Нищо не се появява, докато тече кодирането. За два или повече Araluma ги изпраща на нашия сървър, който преобразува, събира резултата и връща връзка за изтегляне. Тази връзка и преобразуваните файлове се изтриват за около 2 часа. Пътят за едно изображение държи всичко на устройството, извън мрежата, докато партида го разменя за приключването на много файлове наведнъж. За снимка на нещо лично или снимка, маркирана с местоположението ви, преобразуването едно по едно го държи на машината ви, истинска разлика, не лозунг.