Delphi7实现图像区域裁剪

介绍如何使用Delphi7的Image控件实现图像区域裁剪功能,并提供相关代码示例。

procedure TForm1.Button1Click(Sender: TObject);
var
  SourceRect: TRect;
  DestRect: TRect;
begin
  // 设置源图像区域
  SourceRect.Left := 100;  // 起始X坐标
  SourceRect.Top := 50;   // 起始Y坐标
  SourceRect.Right := 200; // 结束X坐标
  SourceRect.Bottom := 150; // 结束Y坐标

  // 设置目标图像区域
  DestRect.Left := 0; 
  DestRect.Top := 0;
  DestRect.Right := SourceRect.Right - SourceRect.Left;
  DestRect.Bottom := SourceRect.Bottom - SourceRect.Top;

  // 创建目标图像
  Image2.Picture.Bitmap.Width := DestRect.Right;
  Image2.Picture.Bitmap.Height := DestRect.Bottom;

  // 复制图像区域
  Image1.Picture.Bitmap.Canvas.CopyRect(
    DestRect,
    Image2.Picture.Bitmap.Canvas,
    SourceRect
  );

  Image2.Refresh;
end;

代码说明:

  • 首先,定义两个TRect变量,分别表示源图像区域和目标图像区域。
  • 通过设置SourceRect的Left、Top、Right、Bottom属性,确定需要裁剪的图像区域。
  • 设置DestRect属性,确定目标图像区域的大小和位置。
  • 创建目标图像,并设置其宽度和高度。
  • 使用CopyRect方法将源图像区域复制到目标图像区域。
  • 最后,刷新Image2控件,显示裁剪后的图像。
rar 文件大小:6.72MB