Изображения поворачиваются после ImageJob, но не хотят

У меня проблема с поворотом некоторых изображений во время обработки ImageJob.

У меня проблема с определением правильного поворота изображения, загруженного с некоторых (современных) мобильных устройств.

Изображения поступают с iPad mini и Galaxy S5. Я делаю портретные фотографии, но они поворачиваются после загрузки и изменения размера. Если я делаю пейзажную картину, обработка работает отлично.

Я пытался использовать плагин автоответчика, но это, похоже, не имеет значения.

Код является базовым и работает на некоторых изображениях, но не на других, как указано выше.

            HttpPostedFileBase file = base.Request.Files["photo"];
            ImageResizer.ImageJob i = new ImageResizer.ImageJob(file, "~/OrigFiles/" + cvm.Id + ".<ext>", new ImageResizer.Instructions( 
            "width=768;height=1024;format=jpg;mode=max;autorotate=true;"));
            i.CreateParentDirectory = true;
            i.Build();

Я послал фотографию с телефона на свой ноутбук, загрузил ее, и она работала нормально, что странно. Может ли это быть проблема загрузки с мобильного браузера? Проблема возникает как на iOS Safari, так и на Chrome на новых устройствах. Что странно, так это то, что на старых Nexus 7 первого поколения работают портретные изображения.

Дальнейшие заметки

Вот эта диагностика:

You are using plugins from the Creative Edition: DiskCache (Performance Edition), WatermarkPlugin (Creative Edition)

Registered plugins:

ImageResizer.Plugins.Basic.DefaultEncoder
ImageResizer.Plugins.Basic.NoCache
ImageResizer.Plugins.Basic.ClientCache
ImageResizer.Plugins.Basic.Diagnostic
ImageResizer.Plugins.Basic.SizeLimiting
ImageResizer.Plugins.MvcRoutingShim.MvcRoutingShimPlugin
ImageResizer.Plugins.DiskCache.DiskCache
ImageResizer.Plugins.Watermark.WatermarkPlugin
ImageResizer.Plugins.Basic.AutoRotate

Configuration:

<resizer>
  <plugins>
  <add name="MvcRoutingShim" />
  <add name="DiskCache" />
  <add name="Watermark" />
  <add name="AutoRotate" />
</plugins>
<watermarks>
<otherimages path="~/watermarks" right="20" bottom="20" width="20" height="20" />
<group name="portraitBG">
    <image path="~/PORTRAIT.png" imageQuery="" top="0" left="0" />
    <text text="#{name}" vertical="false" align="center" top="818" fontSize="60" color="FFF" />
</group>
<group name="landscapeBG">
    <image path="~/LANDSCAPE.png" imageQuery="" top="0" left="0" />
    <text text="#{name}" vertical="false" left="50" top="650" fontSize="60" color="FFF" />
</group>
</watermarks>
</resizer>

Образец изображения

Вот пример изображения: Образец изображения

https://github.com/recurser/exif-orientation-examples/blob/master/Portrait_8.jpg

Когда я загружаю образец изображения и загружаю его со своего ноутбука, он работает как портрет. Когда я загружаю его и загружаю с телефона (Samsung S5 Running 4.4.2), он не работает и сохраняет ландшафт.

0 ответов

Другие вопросы по тегам