2013-06-01 21 views
2

我正在用C#编写Windows 8游戏。我有一个图像,我需要检查某个给定像素的颜色。我知道图像中像素的坐标(x,y),但我找不到任何可以做到这一点的类。例如 System.Drawing.Bitmap有方法GetPixel,这对我来说是完美的,但我不能在Windows Store应用程序中使用这个类。如何在Windows应用商店中获取图像的一个像素(C#)

有谁知道我该怎么做?谢谢你的帮助!

回答

4

我还没有使用它,但你可以尝试WriteableBitmapEx类。项目页面指出该类有一个GetPixel方法。

如果你想这个自己实现(这是不平凡的,并且需要相当多的函数调用),一个方法是使用BitmapDecoder读取位图和BitMapDecoder.GetPixelData得到PixelDataProvider。从那里你可以使用DetachPixelData获得一个字节缓冲区。字节缓冲区是RGBA格式的一维数组。你必须将你的x和y坐标映射到这个数组。

+0

这看起来很有希望!我会试试看,并说它是如何工作:) –

+1

这一切工作。 :) –

+0

@chuex我也使用了WriteableBitmapEx,但我想要做的下载图像,然后根据需求将其颜色更改为不同的颜色。你能为它添加一些示例代码吗? –

相关问题