现在有form1和form2,两个form上面各有一个Timage,我想把form1的Timage的图像复制到form2的Timage的某个位置上,请问如何做到?

解决方案 »

  1.   

    uses Form1;procedure TForm2.FormShow(Sender: TObject);
    var
      frm1 : TForm1;
    begin
      frm1 := TForm1.Create(nil);//如果Form1已经创建,则不需要创建frm1 ,也不需要释放
      try
        Self.img2.Picture := frm1.img1.Picture;
      finally
        FreeAndNil(frm1);
      end;
    end;
      

  2.   

    如果 要画到某个位置 则上楼代码改成
    with frm1.img1.Picture do
        begin
          Self.img2.Picture.Bitmap.Width := Bitmap.Width + 20;
          Self.img2.Picture.Bitmap.Height := Bitmap.Height + 20;
          Self.img2.Picture.Bitmap.Canvas.Draw(20,20,Bitmap);
        end;
      

  3.   

    谢谢了。但是我还有个问题,如果form2的timage打开的是PNG图像,有透明像素的,但是打开之后变成白色了,是不是也要把白色复制过去?因为form1的timage里面已经有图像,而目的是把图像叠加,不希望把白色像素复制进来,不知道这样应该怎么办?
      

  4.   

    PNG图像的处理好像不太一样啊,复制不了