做一个画图程序,并把画好的图显示在TIMAGE控件里面,现在想通过用户在这个控件上
用鼠标拖成一个矩形选择区域,并实现对该区域保存为BMP或JPEG文件,谢谢大家!
用鼠标拖成一个矩形选择区域,并实现对该区域保存为BMP或JPEG文件,谢谢大家!
解决方案 »
- ehlib 在有过滤功能时 数据源 adoquery close open 报异常 无法捕捉
- 这个窗体加载为何是错误的?
- delphi之父Anders归来!阿门!
- 求助:各位大哥,我把软件做好后,因为我电脑的刷新率和别的电脑的刷新率不同,所有图形都变形了,怎么使和刷新率没有关系呢?谢谢!
- 使用LoadLibrary,GetProcAddress需要use哪个单元?
- 告诉地址立刻送分啦!~~~~~
- BusSkinForm问题!
- 程序运行问题:
- 在Delphi怎样向Execl导入一些数据.
- 救救我,我可以追加我所有的分!!!关于listbox
- 用Delphi7怎么编写支持多国语言的软件
- 不在显示提示信息,在线跪求帮助!
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;type
TForm1 = class(TForm)
Image1: TImage;
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
var
p1: TPoint;implementation{$R *.dfm}procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);begin
p1.X := X;
p1.Y := Y;
end;procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
bmp :TBitmap;
rect :TRect;
begin
bmp := TBitmap.Create;
rect.Left := p1.X;
rect.Top := p1.Y;
rect.Bottom := Y;
rect.Right := X;
bmp.Canvas.CopyRect( rect, Image1.Picture.Bitmap.Canvas, Image1.BoundsRect );
bmp.SaveToFile('c:\aa.bmp');
FreeAndNil( bmp );end;