C# 在C语言中,如何将带有透明部分的图像绘制到图形对象?

C# 在C语言中,如何将带有透明部分的图像绘制到图形对象?,c#,graphics,gdi+,png,transparency,C#,Graphics,Gdi+,Png,Transparency,我有一个正在绘制和显示的图形对象。这很好用。不起作用的是绘制一个带有透明部分的.png图像。我正在从am ImageList控件绘制这些图像,如果这与调用有任何区别: myGraphicsObject.DrawImage(myImage, x_position, y_position); 我没有专门为.png图像设置任何透明颜色值,并且在控件中找不到任何为控件指定透明颜色的值 对于图像本身,我尝试在所需的透明部分填充32位255、0255、8位0、0、0和白色255255的透明颜色。但是,绘制

我有一个正在绘制和显示的图形对象。这很好用。不起作用的是绘制一个带有透明部分的.png图像。我正在从am ImageList控件绘制这些图像,如果这与调用有任何区别:

myGraphicsObject.DrawImage(myImage, x_position, y_position);
我没有专门为.png图像设置任何透明颜色值,并且在控件中找不到任何为控件指定透明颜色的值

对于图像本身,我尝试在所需的透明部分填充32位255、0255、8位0、0、0和白色255255的透明颜色。但是,绘制时没有一个是不透明的


有没有一种方法可以告诉图像对于指定的颜色是透明的?任何其他建议/解决方案?

该值在窗体本身上,而不是控件上,它被称为透明键集,用于设置您希望在winforms designer中透明的颜色,并且,仅在表单中与该颜色相同的任何颜色都不会被渲染。

您的PNG是否在图像列表中以透明方式正确显示?也许您的图像列表设置为24位RGB?更改为32位应该会有所帮助。

我尝试过,但没有效果。另外,我需要它对我的图形对象是透明的,而不是控件。然后我不知道。。。我每次都用过它,而且很管用,但我没有直接用在GDI+对象上