有这样的控件。在abc,还是lmd控件包里头有。另外www.ksdev.com有下载

解决方案 »

  1.   

    http://www.ksdev.com/download.html
    里有
    kfxtrial-1_0_0.zip 就是这东西
      

  2.   

    自已改一下吧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;
      

  3.   

    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;
      

  4.   

    to luoweicaisd(笑三少) 
      我是要读取image里面的图片,而不是读取图片文件.
    to My_first(海浪)
       kfxtrial-1_0_0.zip 不好用呀!