如何获取鼠标当前位置,并截下鼠标周围一定区域内的图像?

解决方案 »

  1.   

    http://www.galesoft.net/看他的"联众台球助手",有源码,,这个应该就是你要的
      

  2.   

    1.取得鼠标位置处窗口的handle,用findwindowex并在回掉函数里面判断
    2。使用TCanvas获得所有的图象
    3。鼠标周围的区域,你可以从鼠标当前的位置扩展
    4,把你需要的部分剪切下来
      

  3.   

    我做的一个放大镜~原理是你要的。作者:root3646   unit Unit1;interfaceuses
      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.