107. 跟踪屏幕像素颜色
在Form中放一 TLabel(Label1),再放置一定时器(TTimer).
然后粘贴以下定时器代码即可运行。
当鼠标在屏幕的任何位置移动时,Label中显示鼠标所指
像素的颜色(十六进制 RGB 格式)。
///////////////以下是定时器的处理代码:
procedure TForm1.Timer1Timer(Sender: TObject);
var
P: TPoint;
co: TColor;
ScreenDC : HDC;
fBitmap : TBitmap;
begin
GetCurSorPos(P);
fBitmap := TBitmap.Create;
fBitmap.Width := 1;
fBitmap.Height := 1;
ScreenDC:=CreateDC('DISPLAY',nil,nil,nil);
BitBlt(FBitmap.Canvas.Handle, 0,0,
FBitmap.Width, FBitmap.Height,
ScreenDC, p.x,p.y, SRCCOPY);
DeleteDC(ScreenDC);
label1.caption:=inttohex(fbitmap.canvas.pixels[0,0],8);
fBitmap.Free
end;