关于用image实现特殊显示效果的问题!(在线等待) 有这样的控件。在abc,还是lmd控件包里头有。另外www.ksdev.com有下载 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.ksdev.com/download.html里有kfxtrial-1_0_0.zip 就是这东西 自已改一下吧procedure draw1();var i, bmpheight, bmpwidth: integer; rect1: Trect; btmS, btmD: Tbitmap;begin btmS := Tbitmap.create; btmD := Tbitmap.Create; btmS.LoadFromFile('d:\photo\1.bmp'); btmD.LoadFromFile('d:\photo\2.bmp'); btmS.Width := btmD.Width; btmS.Height := btmD.Height; bmpheight := btmD.Height; bmpwidth := btmD.Width; form1.Canvas.Draw(0, 0, btmS); for i := 0 to bmpheight do begin rect1 := rect(0, 0, bmpwidth, i); form1.Canvas.CopyRect(rect1, btmD.canvas, rect1); application.ProcessMessages ; end; btmS.Free; btmD.Free;end;procedure draw2();var i, j, bmpheight, bmpwidth: integer; btmS, btmD: Tbitmap;begin btmS := Tbitmap.create; btmD := Tbitmap.Create; btmS.LoadFromFile('d:\photo\2.bmp'); btmD.LoadFromFile('d:\photo\3.bmp'); btmS.Width := btmD.Width; btmS.Height := btmD.Height; bmpheight := btmD.Height; bmpwidth := btmD.Width; form1.Canvas.Draw(0, 0, btmS); for i := bmpheight downto 1 do begin for j := 1 to i do form1.Canvas.CopyRect(rect(0, j - 1, bmpwidth, j), btmD.canvas, rect(0, i - 1, bmpwidth, i)); application.ProcessMessages ; end; btmS.Free; btmD.Free;end;procedure draw3();var i, j, bmpheight, bmpwidth: integer; btmS, btmD: Tbitmap;begin btmS := Tbitmap.create; btmD := Tbitmap.Create; btmS.LoadFromFile('d:\photo\3.bmp'); btmD.LoadFromFile('d:\photo\4.bmp'); btmS.Width := btmD.Width; btmS.Height := btmD.Height; bmpheight := btmD.Height; bmpwidth := btmD.Width; form1.Canvas.Draw(0, 0, btmS); i := 0; while (i <= bmpheight) do begin j := i; while (j > 0) do begin form1.canvas.copyrect(rect(0, j - 1, bmpwidth, j), btmD.canvas, rect(0, bmpheight - i + j + 1, bmpwidth, bmpheight - i + j)); form1.canvas.copyrect(rect(0, bmpheight - j, bmpwidth, bmpheight - j + 1), btmD.canvas, rect(0, i - j, bmpwidth, i - j + 1)); j := j - 2; application.ProcessMessages ; end; i := i + 2; end; btmS.free; btmD.free;end;procedure draw4;var i, j, bmpheight, bmpwidth, xground, xcount: integer; btmS, btmD: Tbitmap;begin btmS := Tbitmap.create; btmD := Tbitmap.Create; btmS.LoadFromFile('d:\photo\4.bmp'); btmD.LoadFromFile('d:\photo\5.bmp'); btmS.Width := btmD.Width; btmS.Height := btmD.Height; bmpheight := btmD.Height; bmpwidth := btmD.Width; form1.Canvas.Draw(0, 0, btmS); xground := 16; xcount := bmpheight div xground; for i := 0 to xcount do for j := 0 to xground - 1 do begin form1.Canvas.CopyRect(rect(0, xcount * j + i - 1, bmpwidth, xcount * j + i), btmD.Canvas, rect(0, xcount * j + i - 1, bmpwidth, xcount * j + i)); sleep(10); application.ProcessMessages ; end; btmS.Free; btmD.free;end;procedure draw5();var i, j, bmpheight, bmpwidth: integer; btmS, btmD: Tbitmap;begin btmS := Tbitmap.create; btmD := Tbitmap.Create; btmS.LoadFromFile('d:\photo\5.bmp'); btmD.LoadFromFile('d:\photo\6.bmp'); btmS.Width := btmD.Width; btmS.Height := btmD.Height; bmpheight := btmD.Height; bmpwidth := btmD.Width; form1.Canvas.Draw(0, 0, btmS); i := bmpheight; while (i > 0) do begin j := 0; while (j <= bmpwidth - 20) do begin form1.Canvas.CopyRect(rect(j, i - 20, j + 20, i), btmD.Canvas, rect(j, i - 20, j + 20, i)); sleep(10); j := j + 20; application.ProcessMessages ; end; i := i - 20; end; btmS.free; btmD.free;end; procedure draw6();var i, bmpheight, bmpwidth, hcount, vcount: integer; btmS, btmD: Tbitmap;begin btmS := Tbitmap.create; btmD := Tbitmap.Create; btmS.LoadFromFile('d:\photo\6.bmp'); btmD.LoadFromFile('d:\photo\7.bmp'); btmS.Width := btmD.Width; btmS.Height := btmD.Height; bmpheight := btmD.Height; bmpwidth := btmD.Width; form1.Canvas.Draw(0, 0, btmS); hcount := bmpwidth div 2 + 1; vcount := bmpheight div 2 + 1; if (hcount > vcount) then hcount := vcount; for i := 0 to hcount do begin form1.Canvas.CopyRect(rect(0, bmpheight - i, bmpwidth, bmpheight), btmD.canvas, rect(0, bmpheight - i, bmpwidth, bmpheight)); form1.Canvas.CopyRect(rect(0, 0, bmpwidth, i), btmD.Canvas, rect(0, 0, bmpwidth, i)); form1.Canvas.CopyRect(rect(0, 0, i, bmpheight), btmD.canvas, rect(0, 0, i, bmpheight)); form1.Canvas.CopyRect(rect(bmpwidth - i, 0, bmpwidth, bmpheight), btmD.canvas, rect(bmpwidth - i, 0, bmpwidth, bmpheight)); application.ProcessMessages ; end; btmS.free; btmD.free;end;procedure draw7();var i, bmpheight, bmpwidth, hcount: integer; btmS, btmD: Tbitmap;begin btmS := Tbitmap.create; btmD := Tbitmap.Create; btmS.LoadFromFile('d:\photo\7.bmp'); btmD.LoadFromFile('d:\photo\8.bmp'); btmS.Width := btmD.Width; btmS.Height := btmD.Height; bmpheight := btmD.Height; bmpwidth := btmD.Width; form1.Canvas.Draw(0, 0, btmS); hcount := bmpwidth div 2 + 1; for i := 0 to hcount do begin form1.Canvas.CopyRect(rect(hcount - i, 0, hcount + i, bmpheight), btmD.canvas, rect(hcount - i, 0, hcount + i, bmpheight)); application.ProcessMessages ; end; btmS.free; btmD.free;end;procedure draw8();var i, bmpheight, bmpwidth, hcount, vcount: integer; btmS, btmD: Tbitmap;begin btmS := Tbitmap.create; btmD := Tbitmap.Create; btmS.LoadFromFile('d:\photo\8.bmp'); btmD.LoadFromFile('d:\photo\9.bmp'); btmS.Width := btmD.Width; btmS.Height := btmD.Height; bmpheight := btmD.Height; bmpwidth := btmD.Width; form1.Canvas.Draw(0, 0, btmS); hcount := bmpwidth div 2 + 1; vcount := bmpheight div 2 + 1; if (hcount > vcount) then hcount := vcount; for i := 0 to hcount do begin form1.canvas.CopyRect(rect(0, hcount - i, bmpwidth, hcount + i), btmD.canvas, rect(0, hcount - i, bmpwidth, hcount + i)); form1.Canvas.CopyRect(rect(bmpwidth div 2 - i, 0, bmpwidth div 2 + i, bmpheight), btmD.Canvas, rect(bmpwidth div 2 - i, 0, bmpwidth div 2 + i, bmpheight)); application.ProcessMessages ; end; btmS.free; btmD.free;end;procedure draw9();var i, bmpheight, bmpwidth, speed: integer; btmS, btmD, bitmap3: Tbitmap;begin btmS := Tbitmap.create; btmD := Tbitmap.Create; bitmap3 := Tbitmap.create; btmS.LoadFromFile('d:\photo\9.bmp'); btmD.LoadFromFile('d:\photo\1.bmp'); bitmap3.LoadFromFile('d:\photo\9.bmp'); btmS.Width := btmD.Width; btmS.Height := btmD.Height; bmpheight := btmD.Height; bmpwidth := btmD.Width; speed := 4; i := 0; form1.Canvas.Draw(0, 0, btmS); while (i <= bmpwidth) do begin form1.canvas.copyrect(rect(0, 0, bmpwidth - i, bmpheight), bitmap3.canvas, rect(i, 0, bmpwidth, bmpheight)); form1.canvas.copyrect(rect(bmpwidth - i, 0, bmpwidth, bmpheight), btmD.canvas, rect(0, 0, i, bmpheight)); i := i + speed; application.ProcessMessages ; end; btmS.Free; btmD.free; bitmap3.free;end;procedure draw10();var i, j, l, bmpheight, bmpwidth, hcount, vcount, tvwidth, tvheight, tvhspeed, tvvspeed: integer; btmS, btmD: Tbitmap;begin btmS := Tbitmap.create; btmD := Tbitmap.Create; btmS.LoadFromFile('d:\photo\1.bmp'); btmD.LoadFromFile('d:\photo\9.bmp'); btmS.Width := btmD.Width; btmS.Height := btmD.Height; bmpheight := btmD.Height; bmpwidth := btmD.Width; hcount := 8; vcount := 6; tvwidth := bmpwidth div hcount; tvheight := bmpheight div vcount; tvhspeed := tvwidth div 24 + 1; tvvspeed := tvheight div 24 + 1; form1.Canvas.Draw(0, 0, btmS); for i := 1 to 24 do for j := 1 to hcount do for l := 1 to vcount do begin form1.canvas.copyrect(rect((j - 1) * tvwidth, (l - 1) * tvheight, (j - 1) * tvwidth + tvhspeed * i, (l - 1) * tvheight + tvvspeed * i), btmD.canvas, rect((j - 1) * tvwidth, (l - 1) * tvheight, (j - 1) * tvwidth + tvhspeed * i, (l - 1) * tvheight + tvvspeed * i)); sleep(10); application.ProcessMessages ; end; btmS.free; btmD.free;end; to luoweicaisd(笑三少) 我是要读取image里面的图片,而不是读取图片文件.to My_first(海浪) kfxtrial-1_0_0.zip 不好用呀! 释放TtreeView节点上的指针 讨论dlephi中的sql 请问下面的函数在d7中如何声明 制作安装文件,初学者!! 高程考试如有神助,散分庆祝! ghost2002简体中文版序列号,那位知道?在线等待,急用!!! 请问,如何用代码得到一个dll文件的版本信息?给分!! 这样一个存储过程该如何写???? 如何实现acdsee那样的缩略图? 有关于打印方面的高手吗??????????要写打印预览哦!!!!!!!!!!!!!!!!!!!先看我的代码! 关于考程序员的事情想请教各位 急呀!问题很简单答对就给分,看谁快了!
里有
kfxtrial-1_0_0.zip 就是这东西
var
i, bmpheight, bmpwidth: integer;
rect1: Trect;
btmS, btmD: Tbitmap;
begin
btmS := Tbitmap.create;
btmD := Tbitmap.Create;
btmS.LoadFromFile('d:\photo\1.bmp');
btmD.LoadFromFile('d:\photo\2.bmp');
btmS.Width := btmD.Width;
btmS.Height := btmD.Height;
bmpheight := btmD.Height;
bmpwidth := btmD.Width;
form1.Canvas.Draw(0, 0, btmS);
for i := 0 to bmpheight do
begin
rect1 := rect(0, 0, bmpwidth, i);
form1.Canvas.CopyRect(rect1, btmD.canvas, rect1);
application.ProcessMessages ;
end;
btmS.Free;
btmD.Free;
end;procedure draw2();
var
i, j, bmpheight, bmpwidth: integer;
btmS, btmD: Tbitmap;
begin
btmS := Tbitmap.create;
btmD := Tbitmap.Create;
btmS.LoadFromFile('d:\photo\2.bmp');
btmD.LoadFromFile('d:\photo\3.bmp');
btmS.Width := btmD.Width;
btmS.Height := btmD.Height;
bmpheight := btmD.Height;
bmpwidth := btmD.Width;
form1.Canvas.Draw(0, 0, btmS);
for i := bmpheight downto 1 do
begin
for j := 1 to i do
form1.Canvas.CopyRect(rect(0, j - 1, bmpwidth, j), btmD.canvas, rect(0, i - 1, bmpwidth, i));
application.ProcessMessages ;
end;
btmS.Free;
btmD.Free;end;procedure draw3();
var
i, j, bmpheight, bmpwidth: integer;
btmS, btmD: Tbitmap;
begin
btmS := Tbitmap.create;
btmD := Tbitmap.Create;
btmS.LoadFromFile('d:\photo\3.bmp');
btmD.LoadFromFile('d:\photo\4.bmp');
btmS.Width := btmD.Width;
btmS.Height := btmD.Height;
bmpheight := btmD.Height;
bmpwidth := btmD.Width;
form1.Canvas.Draw(0, 0, btmS);
i := 0;
while (i <= bmpheight) do
begin
j := i;
while (j > 0) do
begin
form1.canvas.copyrect(rect(0, j - 1, bmpwidth, j), btmD.canvas, rect(0, bmpheight - i + j + 1, bmpwidth, bmpheight - i + j));
form1.canvas.copyrect(rect(0, bmpheight - j, bmpwidth, bmpheight - j + 1), btmD.canvas, rect(0, i - j, bmpwidth, i - j + 1));
j := j - 2;
application.ProcessMessages ;
end;
i := i + 2;
end;
btmS.free;
btmD.free;
end;procedure draw4;
var
i, j, bmpheight, bmpwidth, xground, xcount: integer;
btmS, btmD: Tbitmap;
begin
btmS := Tbitmap.create;
btmD := Tbitmap.Create;
btmS.LoadFromFile('d:\photo\4.bmp');
btmD.LoadFromFile('d:\photo\5.bmp');
btmS.Width := btmD.Width;
btmS.Height := btmD.Height;
bmpheight := btmD.Height;
bmpwidth := btmD.Width;
form1.Canvas.Draw(0, 0, btmS);
xground := 16;
xcount := bmpheight div xground;
for i := 0 to xcount do
for j := 0 to xground - 1 do
begin
form1.Canvas.CopyRect(rect(0, xcount * j + i - 1, bmpwidth, xcount * j + i), btmD.Canvas, rect(0, xcount * j + i - 1, bmpwidth, xcount * j + i));
sleep(10);
application.ProcessMessages ;
end;
btmS.Free;
btmD.free;
end;procedure draw5();
var
i, j, bmpheight, bmpwidth: integer;
btmS, btmD: Tbitmap;
begin
btmS := Tbitmap.create;
btmD := Tbitmap.Create;
btmS.LoadFromFile('d:\photo\5.bmp');
btmD.LoadFromFile('d:\photo\6.bmp');
btmS.Width := btmD.Width;
btmS.Height := btmD.Height;
bmpheight := btmD.Height;
bmpwidth := btmD.Width;
form1.Canvas.Draw(0, 0, btmS);
i := bmpheight;
while (i > 0) do
begin
j := 0;
while (j <= bmpwidth - 20) do
begin
form1.Canvas.CopyRect(rect(j, i - 20, j + 20, i), btmD.Canvas, rect(j, i - 20, j + 20, i));
sleep(10);
j := j + 20;
application.ProcessMessages ;
end;
i := i - 20;
end;
btmS.free;
btmD.free;
end;
var
i, bmpheight, bmpwidth, hcount, vcount: integer;
btmS, btmD: Tbitmap;
begin
btmS := Tbitmap.create;
btmD := Tbitmap.Create;
btmS.LoadFromFile('d:\photo\6.bmp');
btmD.LoadFromFile('d:\photo\7.bmp');
btmS.Width := btmD.Width;
btmS.Height := btmD.Height;
bmpheight := btmD.Height;
bmpwidth := btmD.Width;
form1.Canvas.Draw(0, 0, btmS);
hcount := bmpwidth div 2 + 1;
vcount := bmpheight div 2 + 1;
if (hcount > vcount) then
hcount := vcount;
for i := 0 to hcount do
begin
form1.Canvas.CopyRect(rect(0, bmpheight - i, bmpwidth, bmpheight), btmD.canvas, rect(0, bmpheight - i, bmpwidth, bmpheight));
form1.Canvas.CopyRect(rect(0, 0, bmpwidth, i), btmD.Canvas, rect(0, 0, bmpwidth, i));
form1.Canvas.CopyRect(rect(0, 0, i, bmpheight), btmD.canvas, rect(0, 0, i, bmpheight));
form1.Canvas.CopyRect(rect(bmpwidth - i, 0, bmpwidth, bmpheight), btmD.canvas, rect(bmpwidth - i, 0, bmpwidth, bmpheight));
application.ProcessMessages ;
end;
btmS.free;
btmD.free;
end;procedure draw7();
var
i, bmpheight, bmpwidth, hcount: integer;
btmS, btmD: Tbitmap;
begin
btmS := Tbitmap.create;
btmD := Tbitmap.Create;
btmS.LoadFromFile('d:\photo\7.bmp');
btmD.LoadFromFile('d:\photo\8.bmp');
btmS.Width := btmD.Width;
btmS.Height := btmD.Height;
bmpheight := btmD.Height;
bmpwidth := btmD.Width;
form1.Canvas.Draw(0, 0, btmS);
hcount := bmpwidth div 2 + 1;
for i := 0 to hcount do
begin
form1.Canvas.CopyRect(rect(hcount - i, 0, hcount + i, bmpheight), btmD.canvas, rect(hcount - i, 0, hcount + i, bmpheight));
application.ProcessMessages ;
end;
btmS.free;
btmD.free;end;procedure draw8();
var
i, bmpheight, bmpwidth, hcount, vcount: integer;
btmS, btmD: Tbitmap;
begin
btmS := Tbitmap.create;
btmD := Tbitmap.Create;
btmS.LoadFromFile('d:\photo\8.bmp');
btmD.LoadFromFile('d:\photo\9.bmp');
btmS.Width := btmD.Width;
btmS.Height := btmD.Height;
bmpheight := btmD.Height;
bmpwidth := btmD.Width;
form1.Canvas.Draw(0, 0, btmS);
hcount := bmpwidth div 2 + 1;
vcount := bmpheight div 2 + 1;
if (hcount > vcount) then
hcount := vcount;
for i := 0 to hcount do
begin
form1.canvas.CopyRect(rect(0, hcount - i, bmpwidth, hcount + i), btmD.canvas, rect(0, hcount - i, bmpwidth, hcount + i));
form1.Canvas.CopyRect(rect(bmpwidth div 2 - i, 0, bmpwidth div 2 + i, bmpheight), btmD.Canvas, rect(bmpwidth div 2 - i, 0, bmpwidth div 2 + i, bmpheight));
application.ProcessMessages ;
end;
btmS.free;
btmD.free;end;procedure draw9();
var
i, bmpheight, bmpwidth, speed: integer;
btmS, btmD, bitmap3: Tbitmap;
begin
btmS := Tbitmap.create;
btmD := Tbitmap.Create;
bitmap3 := Tbitmap.create;
btmS.LoadFromFile('d:\photo\9.bmp');
btmD.LoadFromFile('d:\photo\1.bmp');
bitmap3.LoadFromFile('d:\photo\9.bmp');
btmS.Width := btmD.Width;
btmS.Height := btmD.Height;
bmpheight := btmD.Height;
bmpwidth := btmD.Width;
speed := 4;
i := 0;
form1.Canvas.Draw(0, 0, btmS);
while (i <= bmpwidth) do
begin
form1.canvas.copyrect(rect(0, 0, bmpwidth - i, bmpheight), bitmap3.canvas, rect(i, 0, bmpwidth, bmpheight));
form1.canvas.copyrect(rect(bmpwidth - i, 0, bmpwidth, bmpheight), btmD.canvas, rect(0, 0, i, bmpheight));
i := i + speed;
application.ProcessMessages ;
end;
btmS.Free;
btmD.free;
bitmap3.free;end;procedure draw10();
var
i, j, l, bmpheight, bmpwidth, hcount, vcount, tvwidth, tvheight, tvhspeed, tvvspeed: integer;
btmS, btmD: Tbitmap;
begin
btmS := Tbitmap.create;
btmD := Tbitmap.Create;
btmS.LoadFromFile('d:\photo\1.bmp');
btmD.LoadFromFile('d:\photo\9.bmp');
btmS.Width := btmD.Width;
btmS.Height := btmD.Height;
bmpheight := btmD.Height;
bmpwidth := btmD.Width;
hcount := 8;
vcount := 6;
tvwidth := bmpwidth div hcount;
tvheight := bmpheight div vcount;
tvhspeed := tvwidth div 24 + 1;
tvvspeed := tvheight div 24 + 1;
form1.Canvas.Draw(0, 0, btmS);
for i := 1 to 24 do
for j := 1 to hcount do
for l := 1 to vcount do
begin
form1.canvas.copyrect(rect((j - 1) * tvwidth, (l - 1) * tvheight, (j - 1) * tvwidth + tvhspeed * i, (l - 1) * tvheight + tvvspeed * i),
btmD.canvas, rect((j - 1) * tvwidth, (l - 1) * tvheight, (j - 1) * tvwidth + tvhspeed * i, (l - 1) * tvheight + tvvspeed * i));
sleep(10);
application.ProcessMessages ;
end;
btmS.free;
btmD.free;
end;
我是要读取image里面的图片,而不是读取图片文件.
to My_first(海浪)
kfxtrial-1_0_0.zip 不好用呀!