Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Cómo obtener color verdadero RGB de un pixel de una imagen?

630 views
Skip to first unread message

Harlock

unread,
Jan 3, 2002, 7:40:05 AM1/3/02
to
Hola a todos,
me gustaría obtener el valor RGB de un pixel de una imagen determinada que
se visualiza en un applet.
He hecho pruebas con el PixelGrabber y la funcion GrabPixels que me llena un
vector con cada uno de los pixeles de la imagen. El problema lo tengo a que
me devuelve valores diferentes para los pixeles dependiendo del modo gráfico
en que me encuentre bajo Windows. Si estoy en modo 256 colores me devuelve
un valor diferente, solo si estoy en modo 32 bits de color me devuelve el
color verdadero.
Alguien sabe de alguna manera para obtener el RGB de verdad (el que esta en
el fichero .GIF) y no el dependiente de la pantalla??

Gracias por adelantado a todos,


Jesús Jiménez

unread,
Jan 5, 2002, 4:35:56 PM1/5/02
to
In article <a11f6l$fs0$1...@talia.mad.ttd.net>, jpa...@sitep.com says...

Es que lo que tú quieres es el pixel de la pantalla, y eso es lo que
GrabPixels te da. Supongo que lo que debe pasar es que, al escribir los
pixels en pantalla, se hace la conversión desde el formato en el que esté
el fichero hacia el que tenga la pantalla, de ahí que luego sólo puedas
obtener este último. Lo que a lo mejor te interesaría sería convertir el
formato a RGB, supongo que se podrá hacer desde la clase Color.

(Por cierto, ¿el formato GIF no aceptaba sólo hasta 256 colores?)

Saludos
--
Jesús Jiménez Herranz
jim...@NOSPAMteleline.es
(Quita NOSPAM de la dirección)

Harlock

unread,
Jan 8, 2002, 12:22:33 PM1/8/02
to
Hola,
no quiero el pixel de pantalla...
A ver pondré un ejemplo:
en el GIF que pongamos es de 256 colores tengo los colores indexados por una
paleta.
Por ejemplo en el pixel x,y apunta al color RGB de valores (123,255,174) de
la paleta.
El problema está en que si obtengo el color de este pixel via grabPixel no
obtendré exactamente un valor de (123,255,174) de RGB que es el que esta en
el fichero, si no que este valor de color se adaptará en función de la
resolución (número de colores visualizados por pantalla).
Yo lo que quiero es obtener el valor PURO de RGB que se encuentra en el
fichero, no obtenerlo alterado.
He hecho pruebas y si la pantalla está configurada a 32 bits de color(color
verdadero) el grabPixel si que devuelve el RGB correcto tal y como se
encuentra en el fichero, pero si la configuración no es 32 bits no lo
devuelve igual. Y la verdad, para la aplicación que lo necesito no me
interesa forzar al usuario a que tenga la pantalla a 32 bits.
En fin, gracias por ayudarme de todas maneras ;)

Jesús Jiménez

unread,
Jan 9, 2002, 3:36:40 PM1/9/02
to
In article <a1f5ju$16s$1...@talia.mad.ttd.net>, jpa...@sitep.com says...

> Hola,
> no quiero el pixel de pantalla...
> A ver pondré un ejemplo:
> en el GIF que pongamos es de 256 colores tengo los colores indexados por una
> paleta.
> Por ejemplo en el pixel x,y apunta al color RGB de valores (123,255,174) de
> la paleta.
> El problema está en que si obtengo el color de este pixel via grabPixel no
> obtendré exactamente un valor de (123,255,174) de RGB que es el que esta en
> el fichero, si no que este valor de color se adaptará en función de la
> resolución (número de colores visualizados por pantalla).
> Yo lo que quiero es obtener el valor PURO de RGB que se encuentra en el
> fichero, no obtenerlo alterado.

Mmm, vale, ya te entiendo, lo que tú quieres es el valor del fichero, no
el de pantalla, y el valor que lees de pantalla se te distorsiona según
el modo gráfico.

La verdad es que no se me ocurre cómo hacerlo, supongo que lo ideal sería
manejar directamente el fichero GIF. Si buscas un poco por ahí
igual encuentras clases que acepten ficheros GIF, y a lo mejor te
permiten leer los valores de color directamente desde el fichero, sin
pasar por pantalla.

En fin, siento no ser de más ayuda.

0 new messages