在BitmapFrame中获取任何像素的颜色?

时间:2011-08-12 15:41:30

标签: wpf imaging

我想编写一些测试来验证IValueConverter根据它的EXIF元数据旋转图像以进行定位。

我创建的测试图像宽400像素,高300像素,上半部分为白色,下半部分为黑色。

如果我可以检查图像角落中像素的颜色,那么我可以根据下表编写测试并进行断言:

Orientation                Top Left    Top Right    Bottom Left   Bottom Right
Landscape                  White       White        Black         Black
Portrait Clockwise         Black       White        Black         White
Portrait Anti Clockwise    White       Black        White         Black

(我不希望图像倒置或水平或垂直反射)

using(var f = new FileStream(@"C:\test.jpg",FileMode.Open, FileAccess.Read))
{
     var bitmapFrame = BitmapFrame.Create(f);
}

如何访问角点像素并检查它们是黑色还是白色?

1 个答案:

答案 0 :(得分:1)

此处的答案也适用于BitmapFrame:Finding specific pixel colors of a BitmapImage

将数据复制到字节数组中并仔细解析数组