Tickets. Авто ориентация при загрузке.
Заметил на одном из своих сайтов, что изображение, добавленные через фронт компонентом Тикетс иногда имеют неправильную ориентацию. При разбирательстве оказалось что программы для просмотра современных операционных систем (если не ошибаюсь, начиная с Windows 8) автоматически определяют ориентацию jpeg изображений на основе записи Orientation в EXIF и пользователь просто не видит что изображение находится «вверх ногами» и загружает его без исправления.
После изучения документации загрузчика файлов PlUpload, который использует компонент Tickets оказалось что можно при инициализации добавить настройку Strip meta headers JPEGs only
Василий, почему то, автоматически эту настройку не включает в компоненте (может быть как раз для сохранения EXIF), но если у вас возникает такая же проблема, как и у меня, вы можете ее активировать самостоятельно.
Для этого правим файл assets/components/tickets/js/web/files.js где ищем строку
Кстати, это же касается и компонента ms2Form, код которого, как я понимаю, большей частью заимствован из Tickets.
resize: {
preserve_headers: false
}
которая удаляет информацию EXIF из файла, но при этом делает правильную ориентацию, на основе записей из EXIF. Василий, почему то, автоматически эту настройку не включает в компоненте (может быть как раз для сохранения EXIF), но если у вас возникает такая же проблема, как и у меня, вы можете ее активировать самостоятельно.
Для этого правим файл assets/components/tickets/js/web/files.js где ищем строку
resize: {
width: TicketsConfig.source.width,
height: TicketsConfig.source.height
},
и добавляем туда настройку preserve_headers: false
.Кстати, это же касается и компонента ms2Form, код которого, как я понимаю, большей частью заимствован из Tickets.
Комментарии: 4
Знатная программка под mac решающая вопросы с EXIF imageoptim.com/mac
Вот универсальная toki-woki.net/blog/p2745-shrink-o-matic-2 (окна\яблоки)
В miniShop2 этот файлик тут:
www/assets/components/minishop2/js/mgr/product/gallery/gallery.panel.js
и добавляем preserve_headers: falseresize: {
width: miniShop2.config.media_source.maxUploadWidth || 1920,
height: miniShop2.config.media_source.maxUploadHeight || 1080,
preserve_headers: false
}
Василий, почему то, автоматически эту настройку не включает в компонентеНаверное потому, что автоповорот по EXIF можно включить в настройках источника файлов указав параметр «ar»:«x»
Например:
{«small»:{«w»:90,«h»:90,«q»:90,«zc»:«1»,«ar»:«x»,«bg»:«000000»}}
AR: Auto Rotate: set to «x» to use EXIF orientation stored by camera. Can also be set to «l» or «L» for landscape, or «p» or «P» for portrait. «l» and «P» rotate the image clockwise, «L» and «p» rotate the image counter-clockwise.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.