Java - Imagenes de 16 grises en Java

 
Vista:

Imagenes de 16 grises en Java

Publicado por Felix (26 intervenciones) el 23/12/2004 15:27:57
Estoy realizando un proceso de codificación de imágenes en Java, y ahora mismo lo quiero aplicar a una imagen de 16 tonos de grises.
Pues bien, leo mi imagen .gif que es 16 tonos de grises, y al imprimir los valores de cada pixel veo que están entre 0 y 15. Devuelvo el tipo de que es la imagen y compruebo que es de tipo TYPE_BYTE_BINARY. De momento creo que todo correcto. Ahora bien después de realizar todo el proceso de cifrado, cuando quiero escribir esta imagen cifrada a otro fichero, no se porque pero esos 16 tonos de grises se convierten en blanco y negro como por arte de magia; es más, imprimo los valores de los pixeles y son 0 o 1.

Bueno, en vez de tanta teoria os dejo escrito el trozo de código que he usado para leer y escribir a ver si me podeis decir donde fallo.

BufferedImage imagen=ImageIO.read(f); //Leemos imagen de un File f

//Ahora realizamos el proceso de cifrado que no escribo aqui para no extender esto.

//Proceso de crear la imagen que vamos a guardar.
//pixeles es un vector con todos los pixeles que he comprobado
//que tienen valores entre 0 y 15, de momento parece que correcto.

BufferedImage buffer=new BufferedImage(columnas,filas,BufferedImage.TYPE_BYTE_BINARY);
WritableRaster raster=buffer.getRaster();
raster.setPixels(0,0,columnas,filas,pixeles);

//Ahora bien si obtengo los datos de este raster, veo que ya son 0 o 1 en vez de los 16 posibles.

//Ahora ya mandaria esto a un fichero con ImageIO.write....

Espero que me podais ayudar porque estoy un poco verde en el tema.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder