DELPHI中能不能使用RGB颜色肯定可以!
RGB颜色互相转换:GetRValue,GetBValue,GetGvale
如何取得屏幕上任意一点的颜色的RGB值,先获得屏幕dc,然后再取色

解决方案 »

  1.   

    GetDC(HWND hwnd)
    GetPixel(HDC hdc,int xpos,int ypos)
    如取屏幕的话这样
    function GetDesktopPixel(int x,int y):COLORREF;
    var
      hDesktopDC:HDC;
    begin
      hDesktopDC := GetDC(GetDesktopWindow);
      result := GetPixel(hDesktopDC, x, y);
    end;
      

  2.   

    欧,不好意思,函数中的参数写错了
    为function GetDesktopPixel(x,y:integer):COLORREF;
    与c混了,呵呵
      

  3.   

    如果获得了一个rgb值,可以用getrvalue(rgb),GetBValue..这些将RGB值分解成
    三原色的三个分量。
    至于或屏幕任一点颜色,xzgyb已写的很清楚。
    getDC这一句是获取屏幕的dc
    然后调用GetPixel获取x,y坐标的颜色值RGB