【问题标题】:ImageResizer and ramifications of removing image EXIF informationImageResizer 和删除图像 EXIF 信息的后果
【发布时间】:2016-01-19 18:48:02
【问题描述】:

我们的 Web 应用程序从许多不同的第三方来源接收图像文件。业务规则规定我们将原始图像保存为收到的图像,而不进行任何类型的图像处理。当通过专用 Web 服务器使用 ImageResizer 为图像请求图像时,我们会处理调整大小、水印、旋转等。 autorotate=true 和 copymetadata=true 是图像服务器上的默认值。

其中一个第三方来源对图像旋转的处理存在问题。当他们最初收到图像时,他们会通过旋转图像来尊重图像的 EXIF 方向数据。但是,它们保留了 EXIF 方向数据的预旋转版本。因此,当图像出现在我们面前时,它会旋转,但 EXIF 方向标志仍保留在图像中。当从我们的图像服务器请求图像时,会处理方向标志(通过 autorotate=true),并再次旋转生成的请求图像(看起来不正确),并删除 EXIF 方向数据。这会导致用户不满意。

说服第三方改变他们处理 EXIF 数据的方式不是一种选择。

我们计划对这些特定图像使用的解决方案是在请求时设置 autorotate=false。但是,EXIF 方向信息仍然存在。由于我没有看到仅删除 EXIF 方向数据的 ImageResizer 选项(除了进入 System.Drawing 命名空间,我们不希望这样做),我们正在考虑为这些特定图像设置 copymetadata=false。

Web 服务器提供没有元数据的图像有什么缺点?特别是关于色彩空间/配置文件?这些图片最终会被复制并在其他网站上使用。

【问题讨论】:

    标签: metadata orientation exif imageresizer autorotate


    【解决方案1】:

    ImageResizer 不会复制任何元数据或 EXIF 方向数据,除非您告诉它这样做。在那些损坏的图像上设置&autorotate=false 可以正常工作。

    即使您使用的是 CopyMetadata,它specifically excludes 也会复制方向数据和其他位图特定的数字。您是否看到过使用&autorotate=false 请求的图像后来在查看器中出现进一步旋转的情况?

    CopyMetadata 主要用于复制版权和 GPS 数据。它不处理 XML 或 XMP 元数据,也不复制色彩空间 - ImageResizer 始终输出 sRGB 图像,互联网默认值 - 不需要色彩空间信息。

    【讨论】:

    • 谢谢,纳撒尼尔。我没有意识到方向数据不会复制过来,所以这很好学。我们还没有看到图像被旋转的例子——这更像是一种先发制人的措施来防止它。现在我们知道这不是我们必须关心的事情。
    猜你喜欢
    • 2013-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-17
    • 1970-01-01
    相关资源
    最近更新 更多