hdc = GetDC(hwnd)
hdy = GetPixel(hdc, Z.x, Z.y)Print Hex(hdy)
得到值是16进制8位的值 hdy的值是7位的长整数 书上说RGB的16进制的值应该是6位的 那么我得到的值错了吗 怎样显示GetPixel函数RGB的值那 请赐教 

解决方案 »

  1.   

    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)hdc = GetDC(hwnd)
    hdy = GetPixel(hdc, Z.x, Z.y)Dim aRGB(0 To 3) As Byte
    CopyMemory aRGB(0), hdy, 4aRGB(0) 'RGB之R
    aRGB(1) 'RGB之G
    aRGB(2) 'RGB之B
    aRGB(3) '保留
      

  2.   

    说明你得到的是一个错误的颜色值两种情况造成:
    1/hdc为无效的
    2/hdc有效,但是Z.x, Z.y超出了hdc这个场景,返回了无效颜色值