Foro de elhacker.net

Programación => Java => Mensaje iniciado por: smasher666 en 26 Octubre 2010, 20:18 pm



Título: Problema imageIO
Publicado por: smasher666 en 26 Octubre 2010, 20:18 pm
Hola,

estamos haciendo un programa que de momento consiste en un GUI que abre un fichero zip que contiene imagenes en .png y las guarda todas juntas en un mismo fichero dentro de un gzip en formato jpeg, el problema es que al leerlo no podemos identificar las diferentes imagenes del unico fichero de dentro del gzip.

Aqui os dejo el codigo haber si podeis encontrar alguna solucion a este "Bug".

Código:
public int saveAsGzip(String pathFichero) throws FileNotFoundException, IOException{

        FileOutputStream fos = new FileOutputStream(pathFichero);
    GZIPOutputStream gzip = new GZIPOutputStream(fos);

        Iterator ite = imagenes.iterator();
        while(ite.hasNext()){
           
            Imagen img = (Imagen) ite.next();
            BufferedImage temp=img.getBufferedImagen();
            ImageIO.write(temp, "JPEG", gzip);
             
       


        }
        gzip.finish();
        gzip.close();
        fos.flush();
       fos.close();

        return 1;
    }
    public int loadAsGzip(String pathFichero) throws FileNotFoundException, IOException{

        FileInputStream fos = new FileInputStream(pathFichero);
    GZIPInputStream gzip = new GZIPInputStream(fos);
        int numeroImagen=0;
        BufferedImage img;
        boolean bol = false;
       

            while(!bol){
                img=ImageIO.read(gzip);
               
                System.out.println(img);
                if (img == null)
                    bol = true;
            }
         




        gzip.close();

        fos.close();

        return 1;
    }


Título: Re: Problema imageIO
Publicado por: Debci en 26 Octubre 2010, 22:10 pm
No es un bug, es no conocer la manera jeje (De buenas lo digo  ;))
Mira, que se sepa no puedes leer en formatos nativos de java un archivo, pues simplemente tienes bytes, no objetos java.
Tendrás que identificar las cabeceras o sacar todos los objetos de forma standrad y convertirlos en imagen.

Saludos


Título: Re: Problema imageIO
Publicado por: smasher666 en 26 Octubre 2010, 22:18 pm
imageIO guarda una cadena de bits correspondientes a una imagen en JPEG, e imageIO carga lo que seria un JPEG. El problema es que el profesor tambien lo tiene asi y no sabemos porque no funciona, ( A el si)

Gracias por la indicacion de todas maneras