图像在ImageJob之后旋转但不想要

时间:2015-01-22 03:38:06

标签: c# imageresizer

我在处理ImageJob期间有些图片被旋转时出现问题。

我在检测从某些(现代)移动设备上传的图片的正确旋转时遇到问题。

图像来自iPad mini和Galaxy S5。我拍摄的是人像照片,但上传后会旋转并调整大小。如果我拍摄风景照片,处理工作正常。

我尝试过使用autorotate插件,但这似乎没什么区别。

代码是基本的,适用于某些图像,但不适用于上述其他图像。

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>

示例图片

以下是示例图片: Sample Image

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

当我下载样本图像并从我的笔记本电脑上传时,它可以保存为肖像。当我下载并从我的手机上传(三星S5运行4.4.2)时,它无法正常工作并保存为风景。

0 个答案:

没有答案