将image.canvas画的图拷到另一image中,不过是拷图的一部分,而且这个区域是一个斜放的矩形区域,请问用什么函数或好的办法,,谢谢!

解决方案 »

  1.   

    你使用过把TMediaplayer的播放窗口的图片用canvas.copyrect拷贝到image.canvas吗?为什么如果mediaplay的窗口太大了就拷不下来?
      

  2.   

    直接canvas.copyrect然后对于它加工,处理为rgn
      

  3.   

    第一种方法:
    var
    Bmp :TBitmap;
    FRgn :HRGN;
    begin
    Bmp :=TBitmap.Create;
    Bmp.PixelFormat :=Image1.Picture.Bitmap.PixelFormat;
    Bmp.Width :=100;
    Bmp.Height :=100;BitBlt(Bmp.Canvas.Handle,0,0,Bmp.Width,Bmp.Height,Image1.Canvas.Handle,80,
    80,SRCCOPY); //要拷贝的位图
    FRgn :=CreateEllipticRgn(0,0,100,100); //创建圆形区域
    SelectClipRgn(Image1.Canvas.Handle,FRgn); //选择剪切区域
    Image1.Canvas.Draw(0,0,Bmp); //位图位于区域内的部分加载
    Bmp.Free;
    DeleteObject(FRgn);
    end;
    第二种方法:
    将另一个IMAGE的Transparent设置为TRUE,不过不保险哦!!