使用不安全代码的C#位图

我正在使用以下代码在C#中制作图像蒙版:

for(int x = 0; x < width; x++) { for(int y = 0; y < height; y++) { bmp.SetPixel(x,y,Color.White); } } for(int x = left; x < width; x++) { for(int y = top; y < height; y++) { bmp.SetPixel(x,y,Color.Transparent); } } 

但这太慢了……与此相比,不安全的是什么? 它会分配得更快吗?

最后我用PNG格式做了一个bmp.Save()。

更新:

按照MusiGenesis的建议阅读http://sofzh.miximages.com/c%23/Alpha 0-255 } } } bmp.UnlockBits(bmd); bmp.Save(test.png”,ImageFormat.Png);

Alpha通道:0表示完全透明,255表示该像素没有透明度。

我相信你可以很容易地修改循环来画一个矩形:)

查看本教程使用LockBits

http://www.BobPowell.net/lockingbits.htm

这比使用SetPixelSetPixel数量级。