【问题标题】:RAW image rotated by wrong angle in WPF image control在 WPF 图像控件中以错误角度旋转的 RAW 图像
【发布时间】:2013-11-07 22:40:22
【问题描述】:

我有一个用 C#、WPF、.NET v4 编写的图像查看器。它读取方向 EXIF 标签并相应地旋转显示的图像。它适用于 JPG。加载相机编解码器包(在我的情况下为 NEF 和 CR2)支持的 RAW 格式时,旋转仅适用于 0 度和 180 度,对于 90 和 270,图像旋转 180 度(即倒置,而不是纵向) )。 旋转的代码是(下面imgOrientation是正确的):

img.LayoutTransform = new RotateTransform(imgOrientation);

Windows 照片查看器显示正常。

有人知道这个问题,有什么解决办法吗?

谢谢。

【问题讨论】:

    标签: c# wpf rotation


    【解决方案1】:

    在我看来,NEF 和 CR2 使用的旋转角度方向与 RotateTransform 的预期相反。或许您可以尝试发送360 - imgOrientation 而不仅仅是imgOrientation

    【讨论】:

    • 我最初的描述不清楚,90和270没有互换,图片是倒置的(旋转了180)-已编辑
    • 所以不是旋转了90度,再旋转了180度,而是实际旋转了180度,而不是旋转了90度?你检查过 imgOrientation 的实际值吗?以及如何从图像中获取价值?
    • 没错。方向标签是正确的(在调试器中检查并显示在应用程序中),使用 exiftool 获得。 Photoviewer 和 irfanview 显示正确,所以照片也ok。
    • 嗯.. 如果不应用旋转变换会发生什么?会不会是图像包含内部旋转逻辑?
    • 你是对的!似乎相机编解码器包可以解码自动旋转 90 度和 270 度的 RAW,但不能解码 180 度,所以我必须仅对 JPG 和 RAW 应用旋转 180 度。谢谢
    猜你喜欢
    • 2021-04-12
    • 1970-01-01
    • 2012-07-02
    • 1970-01-01
    • 2018-03-27
    • 1970-01-01
    • 2022-07-11
    • 2016-10-19
    • 1970-01-01
    相关资源
    最近更新 更多