C# - Drawing top image over background image (alpha channel) - WinForm

徘徊边缘 提交于 2019-12-02 11:44:27

问题


I've got this topimage with alpha channel in it and I need to put this image over another background image, while the alpha channel from the top image stays intact obviously.

Now I've seen some tutorials with Canvas, but my project doesn't seem to recognize Canvas.

Anyone got an idea why I cant use Canvas or how to put those 2 images over each other?


回答1:


Ok, I will try to answer: after loading the image, like this more or less, pseudocode:

Bitmap bmp = new Bitmap("MyCooolSemiTransparentImage.png"); 
bmp.MakeTransparent(colorHaveToBeRenderedTransparent);

colorHaveToBeRenderedTransparent is a color wich results non transparent after loading it into Bitmap object.

EDIT

if alphachannel is ok, here is a simple tutorial how to draw in image on WinForms:

msdn: DrawImage

Call method provided in yuor forms OnPaint override and you will get what you want.

Hope this helps.

Regards.



来源:https://stackoverflow.com/questions/6746250/c-sharp-drawing-top-image-over-background-image-alpha-channel-winform

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!