网上找了半天,没有解决,

解决方案 »

  1.   

    定位框的区域,然后copy出来到另一个image,然后savetofile
      

  2.   

    to imho888() 
    你讲的我参照程序实现了现在就是想不用这样的方法to luxuewei5214(小卢)(以下内容仅供参考) 
    怎样定位框区域
      

  3.   

    to sdzeng(大头鸟) 
    怎样用鼠标选区需要截取的区域呢
      

  4.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ExtCtrls, StdCtrls;type
      TForm1 = class(TForm)
        Image1: TImage;
        Button1: TButton;
        Image2: TImage;
        procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
        procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
        LeftTop,RightButtom : TPoint;
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      LeftTop := Point(x,y);
    end;procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      RightButtom := Point(x,y);
      Image1.Canvas.Brush.Color := clBlack;
      Image1.Canvas.FrameRect(Rect(LeftTop,RightButtom));
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      Bitmap : TBitMap;
    begin
      if (LeftTop.X < RightButtom.X) and (LeftTop.Y < RightButtom.Y) then
      begin
        Bitmap := TBitmap.Create;
        Bitmap.Width :=  RightButtom.X-LeftTop.X;
        Bitmap.Height := RightButtom.Y-LeftTop.Y;
        Bitmap.PixelFormat := pf24Bit;
        Bitmap.Canvas.CopyRect(
          Rect(0,0,RightButtom.X-LeftTop.X,RightButtom.Y-LeftTop.Y),
          Image1.Canvas,
          Rect(LeftTop,RightButtom)
          );
        Image2.Picture.Bitmap.Assign(Bitmap);
        Bitmap.Free;
      end;
    end;end.