0

我只是想知道是否有人知道(wp7 上的性能明智)逐像素更新 WriteableBitmap 的最佳方法......我可以看到 Pixels.SetValue 方法可以采用颜色和单个位置。但肯定更快的选择是先设置一个数组,然后一次性设置 SetValue(theArray) ......像这样......

Int32[] pixels = bmp.Pixels;
for(Int32 y = 479; y > 0; y--)
    for (Int32 x = 0; x < 480; x++)
    {
        pixels[x + (y * 480)] = 0;
    }
bmp.Pixels.SetValue(pixels);

但似乎没有那个选项???

在这里,我只是将所有内容都设置为黑色......但如果我想做更多......

所以基本上,我只是问什么是逐像素操作/创建位图并获得最佳性能的最佳方法?(考虑在每个刻度上更新位图)

编辑:我刚刚注意到 Texture2D.SetData<Int32>(theArray) 具有此功能,任何人都可以评论它的性能吗?或者也许推荐一种更好的方法?

4

1 回答 1

1

您可以创建一个位图,为其提供一个字节数组。Bitmap 的构造函数之一允许这样做。看看这个这个

所以可能最好的方法是对数组进行操作并在需要时从中创建一个位图。但当然要画线、圆等,最好使用一些绘图功能。

于 2012-02-17T15:27:05.660 回答