Защо снимката ви се обръща настрани след качване
Снимката е изправена на телефона, но настрани във формата за качване? Какво прави Exif флагът за ориентация и как да решите проблема веднъж завинаги.
- exif orientation
- photo rotation
- product photography
- image upload
- jpeg
- webp
- marketplace listings
- file metadata

Снимате продукт с телефона, завъртате апарата, натискате бутона. На екрана изглежда изправено. Във формата за качване на маркетплейса обаче пристига легнало настрани — същият файл, завъртян на четвърт оборот.
Това не е повреда на телефона. Картината може наистина да е настрани вътре във файла — и е така от момента на заснемането. Телефонът ви я показва изправена въпреки това. Формата за качване — не.
Файлът ви е в едно от две състояния и разграничаването им изисква една-единствена проверка.
Камерата записва картината така, както я е видял сензорът
Сензорът за изображения е фиксиран правоъгълник, закрепен в телефона; той не се завърта, когато вие го правите. Снимате вертикален кадър, а той пак записва хоризонтална рамка, в която обектът лежи настрани.

Много камери избягват пренаписването на милиони пиксели и вместо това записват едно малко число в метаданните, което означава „завърти това на четвърт оборот, преди да го покажеш“. Други завъртат пикселите при записа и маркират файла като вече изправен — затова два телефона се държат различно с един и същ кадър. В JPEG това число е Exif таг 274, Orientation, и той може да описва както завъртания, така и огледални кадри.
Някои четци зачитат флага, други го игнорират
Съвременните браузъри го четат. CSS свойството image-orientation има начална стойност from-image; MDN го казва ясно: „EXIF информацията, съдържаща се в изображението, се използва, за да се завърти изображението по подходящ начин.“ Това работи във всички браузъри от април 2020 г. насам.
Всичко, което не е браузър, все още може да игнорира тага. Уеб стандартите се обединиха около зачитането му, но много сървърни декодери, генератори на миниатюри и библиотеки за изображения са написани преди това и изобщо не поглеждат тага — и нищо не ги задължава.
Така че въпросът никога не е „снимката ми настрани ли е“, а „това, което я показва, прочете ли флага“. Галерията ви го прави. Генераторът на миниатюри на маркетплейса може и да не го прави.
Завъртането в галерията може само да пренапише флага
Натискате бутона за завъртане и резултатът зависи от приложението. Могат да се случат две много различни неща.

- Приложението променя стойността на ориентацията и оставя пикселните данни непокътнати. Мигновено, без загуби, невидимо за всичко, което игнорира флага: снимката ви все още е настрани във файла.
- Приложението прекодира: декодира пикселите, завърта ги и записва нов файл с нулиран флаг. Завъртането е трайно вградено и оцелява навсякъде. При PNG или WebP без загуби това не струва нищо; при JPEG обикновено струва едно поколение прекодиране — цена, която си заслужава да платите веднъж, но не и да повтаряте.
Кой път ще поеме дадено приложение, не личи по бутона, а и това се е променяло между версиите на едно и също приложение. Не предполагайте нищо; проверете резултата.
Още по-лошо е инструмент, който завърта пикселите, но копира старите метаданни без промяна: флагът все още казва „завърти“, пикселите вече са завъртени, а зачитащите флага четци обръщат снимката два пъти.
Как да разберете в кое състояние е файлът ви
Не можете да решите това с по-внимателно гледане, а само с проверка на нещо, което не е визуализация.

- Сравнете формата с числата. Ако снимка, която изглежда вертикална, се отчита в свойствата на файла като по-широка, отколкото висока, пикселите са хоризонтални и работата върши флаг. Някои визуализатори коригират и тези числа, така че несъответствието доказва повече от съвпадението.
- Прочетете самия флаг. Браузърите, десктоп визуализаторите и миниатюрите във файловия мениджър вече почти всички зачитат тага, така че съгласието между тях не доказва нищо. Работете върху копие, никога върху оригинала, и го отворете в Exif визуализатор, за да прочетете
Orientationдиректно. Всичко, различно от1, често показвано като „Normal“, означава, че работата върши флаг и пикселите не са изправени.
Решете ориентацията, преди каквото и да е друго да докосне файла
remover.bg приема PNG, JPEG и WebP до 25 MB и връща нов файл с премахнат фон. Това е инструмент за премахване на фон, а не фоторедактор: завъртането е работа на фоторедактора на телефона или на дизайнерския инструмент — преди качването.
Тази последователност е важна, защото създавате нов файл. И PNG, и WebP контейнерът имат къде да поберат Exif — спецификацията на WebP на Google позволява метаданни „в 'EXIF' или 'XMP ' блокове“ — но дали редакторът, в който сте завъртели, ще запише такива в експорта си, е решение на редактора, не ваше. Вградете завъртането в пикселите и няма да остане флаг, който да се изгуби. Бележките ни за директния експорт във WebP покриват този формат.
Работеща последователност:
- Завъртете в редактор и експортирайте копие, вместо да натискате „завърти“ в галерията.
- Проверете стойността на
Orientationна експортираното копие. - Качете го за премахване на фона.
- Поставете изрязания обект върху плътен цвят или ваша снимка, с падаща сянка, ако трябва да стои върху повърхност.
Екипите, които прекарват големи обеми през HTTP API за групова обработка на премахване на фона, трябва първо да нормализират ориентацията в конвейера: един източник настрани се превръща в един изрязан обект настрани — хиляда пъти подред. Ориентацията стои извън правилата за фона в нашето ръководство за изображения в Amazon, но обява настрани изглежда небрежно, каквото и друго да сте направили правилно.
Навикът, който си заслужава да изградите
Доверявайте се на файла, не на визуализацията. Завъртайте чрез експорт и прочетете Orientation веднъж на копието; тогава снимката е изправена и в браузъра, и в генератора на миниатюри, и в опашката на принтера.


