如何将PNG透明化为GDI32(在c#中)以与alphaBlend一起使用?

时间:2010-02-19 06:07:26

标签: c# alphablending

我正在尝试在c#中编写一个快速透明度类。 如何将PNG透明化为GDI32以将其与alphaBlend一起使用?

我试图通过getHbitmap / selectObject直接放置它,试图用临时DC上的setPixel绘制它,但都无济于事。

1 个答案:

答案 0 :(得分:2)

在我发现的结果中(对于一个不眠之夜),最简单的获得GDI32的透明度是在GetHbitmap()中设置Color.Black。像这样:

        using (Bitmap tBMP = new Bitmap(@"myBitmap.png"))
        {
            BMPObject = tBMP.GetHbitmap(Color.Black);
            sz = tBMP.Size;
        }

除了黑色之外的任何其他颜色都会给出透明区域的意外颜色。 现在我对结果非常满意:在c#中快速进行alpha混合。