Resumen Obtener los valores RGB a partir de un long   (3 mensajes )

Mensaje enviado por "Pablo Novellino" <pnovelli@ta.telecom.com.ar>

Aca le mando una funcioncita piola para obtener los valores...

Sub GetRGBValues(ByVal Color As Long, Red As Integer, Green As Integer, Blue As
Integer)
Blue = Color / 65536 - 1
If Blue < 0 Then Blue = 0
Color = Color Mod 65536
Green = Color / 256 - 1
If Green < 0 Then Green = 0
Red = Color Mod 256
End Sub




Por favor, responda a visualbasic-esp@egroups.com



 Destinatarios: visualbasic-esp@egroups.com

 CC: (cci: Pablo Novellino/BsAs/Telecom/AR)



 Asunto: (VB-ESP) Re: COLORES RGB

 Clasificación:









Hay que dividir por las distintas profundidades de color o sea

Para el primero divides por un millon y pico de colores (no me acuerdo
cuanto es)

Para el segundo divides por 65535

Para el tercero divides por 255

Y ya ta


----- Original Message -----
From: Alejandro Bezares <webmaster@e-printing.com.ar>
To: <visualbasic-esp@egroups.com>
Sent: Tuesday, December 14, 1999 2:29 PM
Subject: (VB-ESP) COLORES RGB


> HOLA SAAMIGOS!!!!!
> Tengo un gran problema, que lo mas seguro es que resulte una sonsera, como
> ya sabemos para componer un color en RGB utilizamos la función RGB(N,N,N)
y
> esta nos devuelve un long. Ahora lo que yo necesito hacer la inversa, ósea
> que dado un numero long que representa un color me devuelva los valores de
> R, G, y B del mismo. Si alguien sabe como lograrlo o se le ocurre algo,
por
> favor avísenme...
> Desde ya Muchas Gracias!!!!
>
> Alejandro Bezares
> Webmaster@E-printing.com.ar

Mensaje enviado por José Rubí de la Vega <jrubi@ctv.es>

Puedes hacerlo de esta manera :
Private Type ColoresRGB
        rgbRojo As Byte
        rgbVerde As Byte
        rgbAzul As Byte
        rgbReserved As Byte
End Type
Private Declare Sub CopyMemory Lib "kernel32" Alias _
        "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)
Dim Colores As ColoresRGB, lngColor As Long
'obtengo un color mediante RGB
lngColor = RGB(0, 128, 255)
'obtengo los valores RGB a partir del long
CopyMemory Colores, lngColor, 4
Debug.Print "Rojo=" & Colores.rgbRojo
Debug.Print "Verde=" & Colores.rgbVerde
Debug.Print "Azul=" & Colores.rgbAzul

At 10:29 14/12/99 -0300, you wrote:
>ya sabemos para componer un color en RGB utilizamos la función RGB(N,N,N) y esta nos >devuelve un long. Ahora lo que yo necesito hacer la inversa, ósea que dado un numero >long que representa un color me devuelva los valores de R, G, y B del mismo.

Un saludo.
_________________________________________________
José Rubí de la Vega
E-mail : jrubi@ctv.es
WWW : http://www.ctv.es/USERS/jrubi
Podrás encontrar información sobre VB, las listas vb-esp y visualbasic-esp y un
resumen de los mensajes de las mismas

Mensaje enviado por "Alberto M. Vernieri (ar)" <avernieri@interprov.com>

Hola!

En el caso que lColor sea positivo ...
iR = lColor Mod 256
iG = (lColor \ 256) Mod 256
iB = lColor \ 65536

Si lColor es negativo, (lColor And 255) te da un índice a la tabla de
colores del sistema.

Saludos
Alberto



Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com