如何获取鼠标当前位置,并截下鼠标周围一定区域内的图像?
解决方案 »
- fastreport 用 LoadFromStream 保存到数据库 的怪问题,一试一个准
- delphi7连接Access数据库问题
- 求救啊!关于表格导出的问题,求大哥大姐们指点一下啊.........
- 如何获得dbgrid中某一列的字段的类型
- 知道就不难哈!
- 图像格式转换问题(在内存中)
- 这里有没有 职高学历的,又是学饭店服务的,又是自学编程的?
- borland pascal 7.0高分相送
- 请问在Delphi 中怎样创建txt文档,要求用对话框的那种
- 动态创建报表后打印出错,提示printer selected is not valid,而预览正常!
- sql语句的问题
- 去掉TWebBrowser的滚动条
2。使用TCanvas获得所有的图象
3。鼠标周围的区域,你可以从鼠标当前的位置扩展
4,把你需要的部分剪切下来
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;type
TForm1 = class(TForm)
Timer1: TTimer;
Image1: TImage;
procedure Timer1Timer(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Timer1Timer(Sender: TObject);
var
FullscreenCanvas:TCanvas;
dc:HDC;
PointTemp: TPOINT;
begin
Timer1.Enabled := False; GetCursorPos(PointTemp); DC := GetDC (0);
FullscreenCanvas := TCanvas.Create;
FullscreenCanvas.Handle := DC;
Image1.Canvas.CopyRect(Rect(0, 0,form1.Width,form1.Height),
fullscreenCanvas,
Rect(PointTemp.X - form1.Width div 18 ,
PointTemp.Y - form1.Height div 18 ,
PointTemp.X + form1.Width div 18,
PointTemp.Y + form1.Height div 18
)
);
// FormMagnifier.Left:= PointTemp.X - 25 ;
// FormMagnifier.Top:= PointTemp.Y -25;
FullscreenCanvas.Free; //释放CANVAS对象
ReleaseDC (0, DC); //释放DC Timer1.Enabled := True;
end;procedure TForm1.FormShow(Sender: TObject);
begin
image1.Height:=form1.Height;
image1.Width:=form1.Width;
end;end.