Está muy detallado arriba, me gustaría agregar algunos más (no me elijas como la mejor respuesta). Cada píxel de cualquier color o patrón que ves en la pantalla de tu computadora se compone de 3 colores: rojo, verde y azul. Si cree que los píxeles son demasiado pequeños para verlos con claridad, puede mirar la pantalla del televisor y será lo mismo. Por lo tanto, diferentes combinaciones de brillo de los tres colores básicos (rojo-R, verde-G, azul-B) forman diferentes colores. Tomando como ejemplo el color verdadero de 24 bits, cada píxel de la pantalla se compone de rojo, verde y azul. se compone de 1 byte cada uno (8 bits cada uno). El rango de valores de cada color es 0~255, por lo que muestra blanco - (255R+255G+255B), gris (127R+127G+), negro (0~255B). negro (127G+), negro (127B), negro (127G+), negro (127G+), negro (127B), negro (127G+)127B), negro (0R+0G + 0B), violeta (255R+0G+255B), amarillo (255R+255G+0B), cian (0R+255G+255B), etc. Los colores utilizados en la programación de VB también son de 24 bits, generalmente representados por &H00BBGGRR, donde BB, GG y RR son todos hexadecimales de 2 dígitos y el rango de valores es 00-FF (que representan decimales de 0 a 255 respectivamente), por supuesto. , este método hexadecimal a veces es demasiado fácil de leer, por lo que también hay una función RGB (). Los tres parámetros en esta función son decimales y el valor de retorno de la función es &H00BBGGRR. El color representado por H00BBGGRR también es un color de 24 bits. , generalmente usa &H00BBGGRR para representar el color de este color. La función devuelve la forma decimal de &H00BBGGRR, que ambos VB manejan de manera idéntica.
Si RBG() requiere la entrada de parámetros hexadecimales, debe agregar "&H" antes de cada parámetro para activar la función de conversión de VB y forzar la conversión a decimal. Esto es lo que le da El significado de "&H" en. el programa.
Para las funciones Derecha() e Izquierda() en esa oración, el valor de color (decimal) obtenido de las coordenadas 697x ~ 421y escritas desde el objeto dc se fuerza a convertirse al formato hexadecimal (&H00BBGGRR Formato), actuando respectivamente sobre los valores de R, G y B.
Parece que todo el programa tiene como función sacar el valor RGB de un píxel, descomponerlo en R, G y B, y luego recombinarlo en un valor RGB, pero es lo mismo antes. y después, sin ningún cambio. Por lo tanto, se puede acortar a "&H" & Right(Hex(GetPixel(dc, 697, 421)),6), o simplemente usar GetPixel(dc,697,421), lo cual creo que está bien.