image里有个图片,我怎样用鼠标框一块,然后将这个块保存起来??? 网上找了半天,没有解决, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 定位框的区域,然后copy出来到另一个image,然后savetofile to imho888() 你讲的我参照程序实现了现在就是想不用这样的方法to luxuewei5214(小卢)(以下内容仅供参考) 怎样定位框区域 to sdzeng(大头鸟) 怎样用鼠标选区需要截取的区域呢 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. delphi如何控制子窗体根据最外层的父窗体改变大小 如何增加 DNS 菜鸟二问?回复有分 关于mediaplayer中的bug 急急1!!!!!(关于数据库的问题) 如何判断指针所指的对象是否已经Free? 失恋了!狂痛!散分! 请问如何实现系统的查找功能,要其中的包含文字功能? 如何把图片存储到Sql里面的某个字段里面? 关于预览? mapx中的的Symbol问题 郁闷,散分
你讲的我参照程序实现了现在就是想不用这样的方法to luxuewei5214(小卢)(以下内容仅供参考)
怎样定位框区域
怎样用鼠标选区需要截取的区域呢
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.