在.NET中加载32位PNG

在.NET中加载32位PNG,.net,graphics,image,.net,Graphics,Image,我还没有写任何代码,但我以前遇到过类似的问题。希望自从我上次参观以来,情况有所改变 我正在尝试将我自己的游戏图像转换成一种特殊的OpenGL图像格式 为了正确执行转换,我需要所有像素数据,更重要的是,我需要所有alpha通道数据(每像素8位) .NET中的System.Drawing.dll是否支持完全32位alpha透明加载 我是否能够在阿尔法通道中行走,所有信息都保留在C#中?是的,它保留了。您应该获得一个PixelFormat设置为Format32bppArgb的图像,然后当您调用Lock

我还没有写任何代码,但我以前遇到过类似的问题。希望自从我上次参观以来,情况有所改变

我正在尝试将我自己的游戏图像转换成一种特殊的OpenGL图像格式

为了正确执行转换,我需要所有像素数据,更重要的是,我需要所有alpha通道数据(每像素8位)

.NET中的System.Drawing.dll是否支持完全32位alpha透明加载


我是否能够在阿尔法通道中行走,所有信息都保留在C#中?

是的,它保留了。您应该获得一个PixelFormat设置为Format32bppArgb的图像,然后当您调用LockBits时,您可以使用返回的BitmapData对象的Scan0属性获取数据。

System.Drawing支持GDI+格式的任何图像(包括PNG-32),并且可以获取该信息

查看System.Drawing.Bitmap.GetPixel或LockBits