在C++Builder中显示透明位图

在C++Builder中显示透明位图,第1张

在C++Builder中显示透明位图,第2张

我们知道,GIF图像格式支持透明显示,而BMP图像格式不支持。如果在Microsoft photo editor中将位图存储为透明色,将会出现错误提示。但是,在C++Builder中,可以轻松显示透明位图。与透明GIF图像相比,透明位图有一个很大的优势:GIF图像格式支持256色,但是位图可以支持真彩色。

-在C++Builder中显示透明位图

-1.采用Timage组件。

-接下来,我们来做一个简单的飞机飞过蓝天的动画。因为移动的平面是用透明位图显示的,所以看起来相当逼真。

-(1)激活C++Builder下的菜单“File/NewApplication”创建一个新项目。表单单元保存为文件planemain.cpp,项目文件保存为plane.cpp

-(2)在Form1上添加一个新的Tbutton组件Button1,

-添加一个Ttimer组件Timer1,添加三个Timage组件Image1、Image2和Image3,并添加一个Tlabel。

-(3)双击窗体上的Image1,调入蓝天的位图BlueSky.bmp,将其Transpartant属性设置为false,表示不透明度作为背景;双击Image2,在飞机的位图Plane.bmp中调用,将其Transparent属性设置为true,即transparency,Autosize属性设置为true,将Image2放在Image1上。此时,可以看到飞机已经融入了蓝天。为了比较,双击Image3调用飞机的位图Plane.bmp,将其Transparent属性设置为false,表示不透明,将其Autosize属性设置为true。将Label1的Caption属性设置为“源位图”。将Button1的Caption属性设置为“开始”。将定时器1的Enabled属性设置为false,Interval属性设置为100(决定飞机的飞行速度,可以调整)。

-(4)定时器1的OnTimer事件控制飞机的运动,代码如下:

void__fastcallTForm1::定时器1Timer

(收件人*发件人)

{ Image2-> Left = Image2-> Left+1;}

-按钮1的OnClick事件使用以下代码启动飞机:

void _ _ fastcalltform 1::button 1 click

(收件人*发件人)

{定时器1->启用=真;}

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 在C++Builder中显示透明位图

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情