2011-07-19 41 views
1

我有这个带有alpha通道的topimage,我需要把这个图像放在另一个背景图像上,而顶部图像的alpha通道保持不变明显。C# - 在背景图像上绘制顶部图像(Alpha通道) - WinForm

现在我已经看到了一些使用Canvas的教程,但是我的项目似乎无法识别Canvas。

任何人都有一个想法,为什么我不能使用帆布或如何把这两个图像对方?

+0

WPF或WinForms?我假设你没有包含所需的参考。 “似乎不认可”的意思究竟是什么意思?您能否发布代码和错误消息? – Vlad

+0

什么是Canvas? – Tigran

+0

@Tigran我真的不知道,看到一些关于它的教程,但我认为它是Java。 – Julian

回答

2

好吧,我会尽量回答:加载图像,这样或多或少,伪代码后:

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

colorHaveToBeRenderedTransparent是彩色至极加载到Bitmap对象以后产生透明。

编辑

如果alpha通道是确定的,这里是一个简单的教程如何在图像上绘制的WinForms:

msdn: DrawImage

调用方法在上你的形式提供的OnPaint覆盖,你会得到你想要什么。

希望这会有所帮助。

问候。

+0

谢谢Tigran,但我没有“colorHaveToBeRenderedTransparent,因为那部分已经是alphachannel。 – Julian

+0

@downvoter:会发生什么? – Tigran

+0

@julian:更新了答案。 – Tigran