使PictureBox透明并允许它移动

时间:2015-12-03 11:33:47

标签: c# winforms transparency picturebox

我需要一个包含演员图形的图片框。 actor放置在包含tileset图形的PictureBox上。演员应该能够自由移动,我已经做过,但透明的.PNG Actor-Image在我将其加载到表单时有一个控件色的背景。

问题:
如何使此图像的背景透明并允许移动?

1 个答案:

答案 0 :(得分:1)

windowsforms的问题在于其控件没有真正的透明度

控件的透明度基于其父级的BackgroundColorBackgroundImage,这就是您的PictureBox是控件色的原因

现在,如果你想让它真正透明,你有一些选择

自己画一切

你可以使用gdi+Graphics的力量绘制所有内容,但只绘制所需的内容

处理控件的绘制

这可能是一个棘手的问题,你可以覆盖图片框的方法OnPaintOnPaintBackground,这样它就不会重绘它的背景(Control-Colored),这个坏的一面就是那个在运动中会有很多闪烁和错误的背景

使用其他技术

我不确定,但如果我没弄错,你可以使用wpf,尽管它可以改变你的整个项目