用Delphi如何实现多幅图片轮换的效果?

作者&投稿:栾晨 (若有异议请与网页底部的电邮联系)
Delphi 如何实现图片的叠加?~

像SVN那样啊....
你现在有什么资料共享一下,发几个链接上来看看
不知道可不可以找个替代的方法来做这件事
文件夹图标可以更改的,就是在文件夹下放几个ico文件再添加一个文本,修改文本内容来更改文件夹图标...呃...
直接改图片,有点意思

设计时载入一张静止图片

然后在image的onmousemove事件中载入要鼠标移到上面显示的图片

在image的onclick事件中载入要鼠标单击显示的图片

将三张图片放在一起重叠起来,然后加一个timer组件,在ontimer里面写代码,用一个变量i来计数,每秒i自增1,大于3以后初始化为1,所以i可以取1,2,3三个值,每秒变一次
当i=1的时候就让图片1的visible属性为true,图片2,3的visible属性为false;
当i=2的时候就让图片2的visible属性为true,图片1,3的visible属性为false;
当i=3的时候就让图片3的visible属性为true,图片1,2的visible属性为false。。。
这样就可以实现三张图片每秒轮换一下,当然,可以设置timer的interval属性来改变时间间隔,每两秒,每三秒都可以。。。
哪里不懂的就密我吧

i在代码最上边var后面定义
var
Form1: TForm1;
i:integer;
ontimer代码:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if (i<>1) and (i<>2) and (i<>3) then i:=1;
if i=1 then
begin
image1.Visible:=true;
image2.Visible:=false;
image3.Visible:=false;
end;
if i=2 then
begin
image1.Visible:=false;
image2.Visible:=true;
image3.Visible:=false;
end;
if i=3 then
begin
image1.Visible:=false;
image2.Visible:=false;
image3.Visible:=true;
end;
i:=i+1;
end;

如果你把图片作为大字段存入数据库:
1 界面上放一个dbimage控件,对应表中图片字段.
2 在定时器中控制表记录循环,代码如下:
if table1.eof then
table1.first;

if not table1.eof then
table1.next;

如果你把图片路径存入数据库,图片还在硬盘上某个位置,那么:
1 界面上放一个image控件
2 在定时器中控制表记录循环,同时改变图片的路径属性。代码如下:
if table1.eof then
table1.first;

if not table1.eof then
begin
image1.picture.loadfromfile(table1.fieldbyname('picdir').asstring);
table1.next;
end;


delphi如何何真正实现,关闭一个窗体的同时,就打开另一个窗口,当然不能...
首先被关闭的窗体不能是主窗体,主窗体关闭意味着整个程序被关闭了。其次另一个打开的窗口不能属于关闭的窗体,因为关闭父窗体时,子窗体是自己被关闭的。其实你的两个窗体的句柄都是全局或属于主窗体的就行了。

delphi delphi中如何实现对计算机的远程控制?比如在教师机上控制学生机...
基本原理应该是这样的:最基本的就是用 Socket 实现数据通讯。学生的机器上面要有通讯的客户端侦听程序,老师的机器上面装有服务器程序,学生的机器在启动的时候要连接到老师所用的那台服务器那边,之后老师的服务器程序可以向学生的机器发送一些自定义消息过去,学生的机器上收到这些消息后,转向相应的处理...

delphi编程, 如何实现赋值StringGrid表格内的数字按顺序排列
从小到大排列,用个简单的冒泡排序法就好了。procedure TForm1.Button1Click(Sender: TObject);var i,j:Integer;tmp:Double;begin for i:=0 to StringGrid1.RowCount-2 do begin if StringGrid1.Cells[0,i]='' then continue;for j:=i to StringGrid1.RowCount -2 do begin if StrToFloat(...

delphi中如何实现对sql数据库记录进行添加,删除,修改
使用ADO,首先用ADOConnection对象建立连接,然后使用ADOQuery对象对数据库进行操作。ADOQuery对象操作:查询:先使用close;再设置SQL.text为SQL查询语句内容;最后使用OPEN方法打开 添加:Append或Insert;FieldByName('字段名').Value := 字段内容;Post;修改:Edit;FieldByName('字段名').Value := 字...

Delphi中如何实现自动多图位置自动最佳分配满屏效果
要做到比较困难,除非B软件也是自己用Delphi写的。如果B软件不是用Delphi写的,给你一个思路,就是先隐藏任务栏,然后用CreateProcess函数加载B软件,查找任务栏中B软件的任务栏按钮的句柄,用API函数将按钮隐藏,再将任务栏设为显示,但让它在A软件窗口的下层。网上都可搜索到这方面的资料的。

delphi中 如何实现点击一个From2按钮button1 打开Form1;
1、在Form2中uses Form1所在的单元 2、在Form2的button1的OnClick事件处理中,加上Form1.Show或者Form1.ShowModal 注意:1、如果在工程文件(.dpr)中没有自动创建Form1,那么,以上2中所述还需要在调用Show之前进行构建,即Form1 := TForm1.Creat( Application ),或者Application.CreateForm...2、...

delphi从第一位非0开始读数
”delphi实现从第一位非0开始读数的步骤如下:1、将数字转换为字符串,这可以使用IntToStr函数实现。2、使用循环结构遍历字符串中的每一位数字,找到第一个非0的数字位置。3、从第一个非0数字位置开始,使用字符串函数Copy提取剩余的数字,这样就可以实现从第一个非0开始读数的功能了。

Delphi中如何实现程序启动后自动弹出子窗体
直接 在create中写 其他窗体的show的话,因为没有执行好create这个过程,所以不会显示主窗体.你可以考虑用 timer,在timer里使用 form2.show,记得把timer.enable:=false;加到后面,不然可能会不停的执行.这样自动显示的就是form2了.如果还不保险 请使用 form2.SetFocus;\/\/设置焦点 ...

Delphi中 如何实现自动创建打开子窗口。
第一个新建一个子窗体 然后以showmodel的形式弹出来。在调用的时候传一个参数区分是新增还是修改(修改时需要传入记录的唯一编号)在oncreate的事件里面根据对应标志位初始化界面,如果是新增就清空输入框。如果是修改,就根据记录的唯一编号,访问数据库然后加载显示到界面,保存的地方也根据标志位处理相应的...

delphi如何实现直接实时播放话筒的声音,而不用录音
1、系统MME功能,也就是使用waveIn***\/waveOut***系列API来完成。程序启动后用waveIn***系列函数打开声卡输入功能,同时将缓冲区设定到足够小的值,然后开始将音频数据录制到设定的缓冲区,当缓冲区满后再将缓冲区(WAVHDR)直接加入到waveOut***系列函数的输出队列中即可。此方法实现较简单,缺点是MME...

临城县15247797728: 用Delphi若何实现多幅图片轮换的效不雅? -
师乐银杏: 12 在准时器中控制表记录轮回,代码如下:如不雅你把图片作为大年夜字段存入数据库:1 界面上放一个dbimage控件,对应表中图片字段. if table1.eof then table1.first; if not table1.eof then 2 在准时器中控制表记录轮回,同时改变图片的路径属...

临城县15247797728: delphi如何使用ttimer在20秒中内在屏幕上依次轮播数据库中10张图片. -
师乐银杏: 朋友,我来告诉你答案!20秒10张图,每张2秒.timer的interval设置为2000,在OnTimer里头写加载图片的代码,每次累加.最简单的是用image控件 sPath:=GetfilePathByIdx(idx); image.picture.loadfromfile(sPath);//如果图片大,可以一开始就加载进来,然后用picture.assign()赋值 ifidx=10 idx=1 else inc(idx);

临城县15247797728: Delphi7我想用Timer控件让几个image交替出现怎么办啊求指教(我是菜鸟)
师乐银杏: 这个问题我知道!var i:integer; timer的Timer1Timer事件 ifi=0 image.picture.loadformfile('c:1.jpg'); elseifi=1 image.picture.loadformfile('c:2.jpg'); else i:=0 思路是这样,但是这样做不会达到象网站图片新闻的效果,那个需要用双缓冲技术做处理,显得切换图片时更平滑

临城县15247797728: 怎么在Delphi中编写使图片能自动循环浏览功能 -
师乐银杏: 要求说得不清楚,只能猜测你的目的了!嘿嘿 有几种方法:1、用Timer控制 uses Jpeg; var CurIndex:integer; procedure TForm1.Timer1Timer(Sender:TObject); begin Image1.Picture.LoadFromFile('c:\images\pic'+IntToStr(CurIndex)+'.jpg'); Inc(...

临城县15247797728: Delphi7 我想用Timer控件让6个图片循环出现(这六个图片是挨着的) -
师乐银杏: 有一个简单的办法:1、在窗体中放6个TImage控件,并为它们分别设置相应的Picture属性,放置不同的图片内容;2、将6个TImage控件的大小调整为一致;3、将6个TImage控件的Visible属性都设置为False;4、在单元的Private段申明一个变量...

临城县15247797728: delphi 控制 图片切换
师乐银杏: procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin Image1.Picture.LoadFromFile('D:\My Pictures\081.jpg') ;{括号内参数写你的图片路径就可以了} end; 不过写在OnMouseMove事件里面貌似效果很不理想,因为当鼠标在Image上只要有一点移动就会马上触发该事件,就会载入图片一次,看起来画面很闪烁,所以可以考虑别的什么办法来实现.具体..我也思考中.

临城县15247797728: Delphi中如何实现自动多图位置自动最佳分配满屏效果?
师乐银杏: 使用GridPanel! delphi 2007自带 前提是图片大小一致,一般先判断在屏幕的宽度下GridPanel能容下几张图片,然后分配gridpanel列数(假设你有6张图片,计算之后一列能容下3张图片,那么给GridPanel分配3列,2行,分别把每张图片的Parent设置成该GridPanel,图片就会均匀分配到这个GridPanel里) ,不过你说的满屏填充3~5张图,图片估计得拉伸才行,分辨率这么大

临城县15247797728: delphi7怎样实现图片变换 -
师乐银杏: 设计时载入一张静止图片 然后在image的onmousemove事件中载入要鼠标移到上面显示的图片 在image的onclick事件中载入要鼠标单击显示的图片

临城县15247797728: delphi7使N个从数据库中读取的图片排成一排,在一个窗口中循环显示! -
师乐银杏: 排成一排,要不要占画面空间,如果不占空间,你就用一个定时器,不停的循环的在数据库中读取图片,并在图像显示组件中显示.每张图片的显示时间可通过定...

临城县15247797728: delphi中怎样一次性保存多张图片 -
师乐银杏: SQLServer使用Image字段 这样的字段不能直接使用TAdooTable,用TAdoQuery带字段来保存 也就是先保存带空字段的记录,然后用Param修改记录保存,

你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网