C#的一个很简单的问题。。请高手帮忙。小弟无尽感激(26)//小游戏

来源:百度知道 编辑:UC知道 时间:2024/05/14 02:39:52
小弟想做一个飞机在飞行 的效果。。一张天空白云的图片从窗体的上端不断向下播。飞机用 PictureBox来加载。。但是小弟想:PictureBox的背景有透明。。以便看起来,更加美观,,代码小弟已经写出来了(运行时,没有提示错误),但是运行时,PictureBox的背景却还是默认颜色,不知为什么?
在这里恳求高手帮帮小弟,小弟无尽感激。。
如下是代码。。
private Bitmap plan;
public Form1()
{
InitializeComponent();
this.Paint += delegate
{
DrawPlane();
};
}

public void DrawPlane()
{
plan = new Bitmap("plan.jpg");
plan.MakeTransparent(Color.Black);

PictureBox pb = new PictureBox();
pb.BackColor = Color.Transparent;
pb.BackgroundImage = plan;
pb.BackgroundImageLayout = ImageLayout.Stretch;
pb.Top = 550;
pb.Left = 207;

this.Controls.Add(pb);
}

窗口透明色改为白色 飞机那块白色就透明了

呵呵,飞机图片用PHOTOSHOP弄成PNG格式吧,把飞机空白部位全部做成透明色.

用PHOTO SHOP把plan.jpg改成透明底,保存为PNG格式

我记得PICbox有一个设置透明色的选项的,就在右边的属性栏里面,好像是什么什么透明色,然后设置为白色就是白色显示为透明,

如果是动态的,目前我没有办法

PICbox有一个设置透明色的选项的,就在右边的属性栏里面,好像是什么什么透明色,然后设置为白色就是白色显示为透明