C# - Drawing top image over background image (alph

2019-03-01 06:50发布

问题:

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.