我实际上是想在windows phone 8应用程序中遍历图像的所有像素。 基本上,在类库中我使用这种“不安全的代码”。
unsafe {
byte* prSrc = (byte*)(void*)d;
byte* prDest = (byte*)(void*)s;
for(int y = 0; y < bitmap.height; y++)
{
for(int x = 0; x < bitmap.width; x++)
{
// do some work here
}
}
}
但在Windows Phone 8中,这是不可能的。你有解决方法或类似的东西吗?
非常感谢你的帮助。
答案 0 :(得分:0)
答案 1 :(得分:0)
在Windows Phone上,可以通过WriteableBitmap
类操作图像。
WriteableBitmap
类具有Pixels
属性,该属性是包含ARGB32格式(预乘RGB)图像的每个像素的数组。
在每个像素上循环和读/写的最简单方法是使用WriteableBitmapEx(可以通过NuGet安装的开源库)。
然后您可以使用ForEach
扩展方法,如下所示:
WriteableBitmap writeableBmp = new WriteableBitmap(myImage, null);
writeableBmp.ForEach((x, y, color) =>
{
// Read and write on the color object
return color;
});