屏幕上有颜色值"#C60A00",如果通过颜色,在屏幕上确定这个颜色的点的坐标?

解决方案 »

  1.   

    很简单吧,GetDC桌面,然后按行列扫描,代码没几行。楼主未留下联系方式?
      

  2.   

    请发到邮箱吧[email protected] 谢谢!
      

  3.   

    function GetColorXY(const c:Cardinal):TPoint;
    var
       x,y:integer;
       h:HDC;
    begin
      h:=GetDc(0);
      for X:=0 to screen.Width-1 do
        for Y:=0 to screen.Height-1 do
          if GetPixel(h,X,Y)=c then
            begin
              result.X:=X;
              result.Y:=Y;
              exit;
            end;
      Result:=Point(-1,-1);
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    var p:TPoint;
    begin
      button1.Enabled:=false;
      p:=GetColorXY($C60A00);//返回两个负1,表示没有取到。
      showmessageFmt('坐标  X:%d  Y:%d',[p.X,p.Y]);
      button1.Enabled:=true;
    end;