我建了一个image1
然后用image1.picture.loadfromfile 插入一幅图
我想选其中的一部分,然后粘在image1的另一个地方
下面是我编的:
a:=rect(0,0,100,100);
image1.picture.loadfromfile(.....);
c:=tbitmap.create;
c.canvas.copyrect(a,image1.canvas,a);
clipboard.assign(c);
d:=tbitmap.create;
d.assign(clipboard);
image1.canvas.draw(100,100,d);
但通不过 它告诉我unspport clipboard format
高手帮帮忙吧

解决方案 »

  1.   

    用BrushCopy实现类型:FromRect,ToRect: TRect;应该用这个!Canvas.BrushCopy(ToRect,Bitmap,FromRect,clNone);
      

  2.   

    刚调试完,没有问题。下例将图image1的rect1的图拷在rect2了
    procedure TForm1.Button1Click(Sender: TObject);
    var rect1,rect2:Trect;
    begin
      image1.Picture.LoadFromFile('E:\Happy\明星图片\picture\5552.bmp');
      rect1:=rect(0,0,100,100);
      rect2:=rect(100,100,200,200);
      image1.canvas.copyrect(rect2,image1.Canvas,rect1);
    end;
      

  3.   

    我记得如果image1上有一个bmp图。就不能再对iamge1.canvas进行操作。