黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 黑客编程 >> 正文
·没有路由密码权限时的鸽08-23·上网安全 Vista自我防范10-11
·让濒临崩溃的Windows XP10-11·有备无患,快速自制救急10-11
·要你好看!Windows看图工10-11·空间赞助网提供不同类型10-11
·讨论net.exe和net1.exe的10-10·让3389远程桌面传输更通10-10
·巧妙入侵渗透赌博站10-10·Aspx空间扫权限工具10-10
·Windows2003最新提权工具10-10·易淘乐提供100M免费全能10-10
·系统开机密码忘了不着急10-09·中意网络提供免费100M免10-09
·与众不同 Windows XP开始10-08·让桌面图标翻跟斗 在XP上10-08
·上海宽元站长资助计划-提10-08·个性化Windows XP的任务10-07
·趣盘提供3G免费网络硬盘10-07·秀山热线提供200MB免费全10-07
·一次艰辛的提权过程10-06·成功入侵IT大卖场的渗透10-06
·mysqlhack- MYSQL利用工10-06·lanker一句话PHP后门客户10-06
·WIXI提供3G免费多媒体网10-06·新人网络提供100M/ftp免10-06
·如何利用QQ带来高流量10-05·UuShare提供免费网络文件10-05
[图文]Delphi编程-图片的淡入淡出效果
      ★★★★

Delphi编程-图片的淡入淡出效果

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-12-15 11:14:16

在应用程序中引入图片淡入淡出效果,可以让用户界面更加美观。在Delphi中可以调用WindowsAPI函数AlphaBlend来实现图片的淡入淡出效果,既保证速度,又很简单。

向窗体上添加一个TImage组件和一个TButton组件,TImage充当图片显示的载体, TButton组件用于控制淡入效果和淡出效果的转换。添加组件后的窗体如图2-18所示。

2-18  添加组件后的窗体

程序首先定义一个TBitmap类型的全局对象Bitmap,在程序运行过程中,由这个全局对象存储图像文件,在窗体的初始化过程中添加初始化Bitmap对象的代码如下:

procedure TfrmMain.FormCreate(Sender: TObject);

begin

    Bitmap:=TBitmap.Create;

    Bitmap.LoadFromFile('.bmp');

end;

在程序运行过程中,如果用户单击第1次单击TButton组件,那么它显示文本就会从“淡入”改变为“淡出”。再次单击这个TButton组件,那显示文本又会回到“淡入”。依次类推,单击“淡入”按钮就会实现图像的淡入效果,响应代码如下:

procedure TfrmMain.Button1Click(Sender: TObject);

var

  sBlendFunction: BlendFunction;

  i: byte;

begin

    if Button1.Caption='淡入' then

    begin

        Button1.Caption:='淡出';

        with sBlendFunction do

        begin

            BlendOp := AC_SRC_OVER;

            BlendFlags := 0;

            AlphaFormat := 0

        end;

        for i := 0 to 51 do

        begin

            sBlendFunction.SourceConstantAlpha:= i * 5;

            Windows.AlphaBlend(Image1.Canvas.Handle,0,0,Image1.Width,

               Image1.Height,Bitmap.Canvas.Handle,0,0,

               Bitmap.Width,Bitmap.Height,sBlendFunction);

            sleep(50);

            Image1.Refresh;

        end;

    end

    else

    begin

//图片的淡出效果,此处省略了

    end;

end;

程序首先会填充一个BlendFunction结构,这个结构是AlphaBlend的使用中最重要的参数。它有4个变量,其中BlendOP是混合方式,当前只有AC_SRC_OVER一种。BlendFlags必须为0SourceConstantAlpha控制画面的透明度,为0时,完全透明;为255时,完全不透明,并且逐渐变化。AlphaFormatAlphaBlend函数中源句柄和目的句柄的格式,一般指定为0。然后程序就会调用循环中的AlphaBlend函数来设置TImage组件上显示图像的透明度,并且利用Sleep函数做延时效果。最后在每次循环中都要加入TImage组件的Refresh方法来刷新淡入的效果。

图像的淡出效果与淡入效果的原理大体相同,不再赘述。

[1] [2] 下一页

文章录入:cainiaowang    责任编辑:cainiaowang 
【字体:
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886