uses Types; //for Delphi6 (*// function OffsetRect(var Rect: TRect; DX: Integer; DY: Integer): Boolean; begin if @Rect <> nil then // Test to increase compatiblity with Windows begin Inc(Rect.Left, DX); Inc(Rect.Right, DX); Inc(Rect.Top, DY); Inc(Rect.Bottom, DY); Result := True; end else Result := False; end; //*)procedure TForm1.Button1Click(Sender: TObject); var vRect: TRect; begin vRect := Bevel1.BoundsRect; OffsetRect(vRect, - vRect.Left, - vRect.Top); Image2.Canvas.BrushCopy(vRect, Image1.Picture.Bitmap, Bevel1.BoundsRect, 0); end;//这个只能处理Bitmap //如果你要处理jpg //请转换转换 //参考: http://kingron.myetang.com/zsfunc0b.htm
(*//
function OffsetRect(var Rect: TRect; DX: Integer; DY: Integer): Boolean;
begin
if @Rect <> nil then // Test to increase compatiblity with Windows
begin
Inc(Rect.Left, DX);
Inc(Rect.Right, DX);
Inc(Rect.Top, DY);
Inc(Rect.Bottom, DY);
Result := True;
end
else
Result := False;
end;
//*)procedure TForm1.Button1Click(Sender: TObject);
var
vRect: TRect;
begin
vRect := Bevel1.BoundsRect;
OffsetRect(vRect, - vRect.Left, - vRect.Top);
Image2.Canvas.BrushCopy(vRect, Image1.Picture.Bitmap,
Bevel1.BoundsRect, 0);
end;//这个只能处理Bitmap
//如果你要处理jpg
//请转换转换
//参考: http://kingron.myetang.com/zsfunc0b.htm
我用的是SHAPE,但是用你的方法不够准确,切割后的图片与看到的范围有大的差异,
就是将vRect := Bevel1.BoundsRect;
OffsetRect(vRect, - vRect.Left, - vRect.Top);
Image2.Canvas.BrushCopy(vRect, Image1.Picture.Bitmap,
Bevel1.BoundsRect, 0);
中的BEVEL1 换成了SHAPE1了
procedure TForm1.Button1Click(Sender: TObject);
var
vRect0: TRect;
vRect1: TRect;
begin
vRect0 := Shape1.BoundsRect;
vRect1 := Shape1.BoundsRect;
OffsetRect(vRect0, - vRect0.Left, - vRect0.Top);
OffsetRect(vRect1, - Image1.Left, - Image1.Top);
Image2.Canvas.BrushCopy(vRect0, Image1.Picture.Bitmap, vRect1, 0);
end;
我想用这个框能够放大缩小时能按比例,譬如长:宽=3:4
能交个朋友吗,你能把EMAIL给我吗
就是不知道大虾的EMAIL能给你个吗
mailto:[email protected]