如何从C#中的位图插入/提取透明通道?

时间:2012-08-15 19:24:02

标签: c# bitmap transparent

我想将透明通道从位图提取到2D数组,用它做一些事情,然后将其返回到位图。

如何提取/插入?

1 个答案:

答案 0 :(得分:1)

我假设您正在使用System.Drawing.Bitmap值为Format32bppArgb的PixelFormat

您需要调用LockBits以便直接操作位图位。

返回的BitmapData实例包含有关位图的信息,包括Scan0属性,该属性是位图中第一个像素的地址。 Alpha通道是每个像素的最重要字节。

请注意,Scan0IntPtr。这些位是一维数组。您必须编写自己的索引代码,将1D数组视为2D数组。请务必考虑Stride