如何对Image中的位图进行多边形拷贝?要有MouseDown,MouseMove,MouseUp的程序!!!(100分)

  • 主题发起人 主题发起人 卷起千堆雪tyn
  • 开始时间 开始时间

卷起千堆雪tyn

Unregistered / Unconfirmed
GUEST, unregistred user!
“要有MouseDown,MouseMove,MouseUp的程序”是什么意思?
 
将ImageEdit中的一块区域考至Cliper, 再取出来分析一下!会有发现!
 
使用区域。
http://www.truevcl.com
 
procedure PolyCopyBmp(var Tag: TBitmap; Source: TBitmap; Points: array of TPoint);
var
Rgn: HRGN;
begin
if not Assigned(Tag) then
Tag := TBitmap.Create;
with Tag do
begin
Width := Source.Width;
Height := Source.Height;
end;
Rgn := CreatePolygonRgn(Points[0], High(Points)+1, WINDING);
SelectClipRgn(Tag.Canvas.Handle, Rgn);
BitBlt(Tag.Canvas.Handle, 0, 0, Tag.Width, Tag.Height, Source.Canvas.Handle, 0, 0, SRCCOPY);
SelectClipRgn(Tag.Canvas.Handle, 0);
DeleteObject(Rgn);
end;
 
eYes 已经说了关键部分,怎么还不结束问题?
Mouse 事件中只需要把鼠标落点记录到 Points 中就可以了。
 
后退
顶部