我正在用 C# 为 Windows 8 编写游戏。我有一个图像,我需要检查某个给定像素的颜色。我知道图像中像素的坐标(x,y),但我找不到任何可以做到这一点的类。例如
System.Drawing.Bitmap
有方法GetPixel
,这对我来说是完美的,但我不能在 Windows 应用商店应用程序中使用这个类。
有谁知道我该怎么做?谢谢你的帮助!
我正在用 C# 为 Windows 8 编写游戏。我有一个图像,我需要检查某个给定像素的颜色。我知道图像中像素的坐标(x,y),但我找不到任何可以做到这一点的类。例如
System.Drawing.Bitmap
有方法GetPixel
,这对我来说是完美的,但我不能在 Windows 应用商店应用程序中使用这个类。
有谁知道我该怎么做?谢谢你的帮助!
我没用过,但你可以试试WriteableBitmapEx类。项目页面声明该类有一个GetPixel
方法。
如果你想自己实现这个(它不是微不足道的,并且需要很多函数调用),一种方法是使用BitmapDecoder
读取位图和BitMapDecoder.GetPixelData来获取PixelDataProvider
. 从那里您可以使用DetachPixelData获得一个字节缓冲区。字节缓冲区是 RGBA 格式的一维数组。您必须将 x 和 y 坐标映射到该数组。