我想将透明通道从位图提取到 2D 数组,用它做一些事情,然后将其返回到位图。
如何提取/插入它?
我假设您正在使用 System.Drawing.Bitmap,其 PixelFormat 值为 Format32bppArgb。
您需要调用 LockBits 以便可以直接对位图位进行操作。
返回的 BitmapData 实例包含有关位图的信息,包括 Scan0
属性,该属性是位图中第一个像素的地址。Alpha 通道是每个像素的最高有效字节。
请注意,Scan0
是一个IntPtr
。这些位位于一维数组中。您必须编写自己的索引代码,将 1D 数组视为 2D 数组。请务必考虑Stride
。