我在WPF中使用Image
控件遇到了一些问题。
我有一个jpg文件,加载错误的旋转,甚至我在Windows中旋转此图片(右键单击并rotate left/right
)应用程序没有变化。
似乎图像中有一些EXIF元数据,它们与错误的图像一起旋转。
我正在从www阅读图片,所以我没有本地文件(我不想拥有它)。以下是我将byte[]
转换为BitmapImage
的方式:
public static BitmapImage BitmapImageFromByteArray(Byte[] bytes)
{
MemoryStream stream = new MemoryStream(bytes);
BitmapImage image = new BitmapImage();
image.BeginInit();
image.CacheOption = BitmapCacheOption.OnLoad;
image.StreamSource = stream;
image.EndInit();
stream.Close();
stream.Dispose();
return image;
}
因此有两种处理方式:
Image
控件以忽略EXIF元数据BitmapImage
你能帮我处理这些吗?
答案 0 :(得分:0)
查看以下链接中的代码示例。
使用C#和WPF库从图像文件中删除Exif数据: http://www.techmikael.com/2009/07/remove-exif-data-from-image-files-with.html
另一种选择可能是使用RotateTransform旋转Image元素: