Tickets. Авто ориентация при загрузке.

Заметил на одном из своих сайтов, что изображение, добавленные через фронт компонентом Тикетс иногда имеют неправильную ориентацию. При разбирательстве оказалось что программы для просмотра современных операционных систем (если не ошибаюсь, начиная с Windows 8) автоматически определяют ориентацию jpeg изображений на основе записи Orientation в EXIF и пользователь просто не видит что изображение находится «вверх ногами» и загружает его без исправления.
После изучения документации загрузчика файлов PlUpload, который использует компонент Tickets оказалось что можно при инициализации добавить настройку Strip meta headers JPEGs only
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.
Sergey Pozhidaev
06 декабря 2015, 08:35
modx.pro
5
2 083
+7

Комментарии: 4

Алексей
20 января 2017, 17:31
0
Знатная программка под mac решающая вопросы с EXIF imageoptim.com/mac
Алексей
22 августа 2018, 15:10
0
В miniShop2 этот файлик тут:
www/assets/components/minishop2/js/mgr/product/gallery/gallery.panel.js
и добавляем preserve_headers: false
resize: {
                width: miniShop2.config.media_source.maxUploadWidth || 1920,
                height: miniShop2.config.media_source.maxUploadHeight || 1080,
                preserve_headers: false
            }
    Rrp2010
    11 октября 2018, 21:45
    0
    Василий, почему то, автоматически эту настройку не включает в компоненте
    Наверное потому, что автоповорот по 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.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      4