Antonio:
Tengo este problema al utilizar la función GetPixelColor() de una librerÃa comercial que en VB funciona bien.
Con tu receta, en algunos casos sà funciona pero en otros no.
Hago n := GetPixelColor(x,y)
Con Rojo puro (n=255), funciona bien
Con verde puro (deberÃa ser n=65280 pero recibo -256), asà que tus fórmulas producen valores negativos
Con azul puro ( deberÃa ser n=16711680), recibo 0
Si antes convierto n a WORD asÃ:
n := GetPixelColor(x,y)
n := Bin2W(L2Bin(n))
Rojo y verde los lee bien (255, 65280) pero azul sigue leyendo 0
Quizás es un error en la librerÃa que estoy utilizando (aunque en VB les va bien) o algo relacionado con el hecho de que la n que recibo es una variable OLE_COLOR y da problemas en los bits más altos. A ver si el fabricante me dice algo.
Gracias
Rafael