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



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

如何提取/插入它?

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

您需要调用 LockBits 以便可以直接对位图位进行操作。

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

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

最新更新