Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    122

    COnversione gif

    Ciao a tutti ho scritto un piccolo programma che prelevato un file .gif lo converte in jpg, il programmino funziona e compila...il problema è che la jpeg risultante perde un sacco di qualità e si vede abbastanza male qualcuno sa come aiutarmi?? ecco il codice che utilizzo....


    public static void main(String[] args) {

    String imageSourcePath = args[0];
    String imageDestinationPath = args[1];
    BufferedImage bi;
    try {
    long t1 = System.currentTimeMillis();
    String inputFilename = imageSourcePath + File.separatorChar+ "foto1.gif";
    FileInputStream fis = new FileInputStream(inputFilename);
    bi = ImageIO.read(fis);
    String outFileName = imageDestinationPath + File.separatorChar+ "fotoX.jpg";
    com.sun.media.jai.codec.JPEGEncodeParam jpgParams = null;
    ImageEncoder encoder = null;
    jpgParams = new com.sun.media.jai.codec.JPEGEncodeParam();
    FileOutputStream fos = new FileOutputStream(outFileName);
    encoder = ImageCodec.createImageEncoder("JPEG",fos,jpgParams );
    System.out.println("making jpg file");
    encoder.encode(bi);
    //File fOut = new File(outFileName);
    //ImageIO.write(bi,"jpg", fOut);
    //fis.flush();

    fis.close();
    fos.flush();
    fos.close();
    long t2 = System.currentTimeMillis();
    System.out.println("finish!");
    System.out.println("time for encoding:"+(t2 - t1)+" ms");

    }
    catch (Exception e) {
    e.printStackTrace();
    }

    }
    }



    Grazie e ciao a tutti...

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Io solitamente faccio senza usare jai e la perdita di info e' accettabile.
    codice:
    File source = new File("C:/Documents and Settings/Simone/Desktop/matita.gif");
    File dest = new File("C:/Documents and Settings/Simone/Desktop/matita.jpg");
    try {
       long t1 = System.currentTimeMillis();
       BufferedImage tmp = ImageIO.read(source);
       ImageIO.write(tmp,"jpg", dest);
       long t2 = System.currentTimeMillis();
       System.out.println("Finito! Tempo impiegato: "+(t2 - t1)+" ms");
    } catch (Exception e) {
       e.printStackTrace();
    }
    Ho visto nelle righe commentate che avevi provato qualcosa di simile.
    Il risultato non era soddisfacente?

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    122
    Ciao ho appena provato il tuo codice...ma il risultato è lo stesso...perdo un sacco di colori il giallo diventa addirittura rosso...

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Allora forse la mia gif di partenza non e' abbastanza dettagliata.
    Se mi fai sapere dove posso trovare una gif come la tua, provo a riprodurre il risultato e guardo se si puo' fare qualcosa.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    122

    link

    http://en.wikipedia.org/wiki/GIF

    c'e' una gif con un girasole....ho provato con quella....

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Si, hai ragione, con quella gif viene uno schifo. Prova ad usare il tuo codice ed a settare una qualita' piu' alta.
    codice:
    jpgParams.setQuality(1.0); //Qualita' massima
    P.s. non l'ho provato perche' non ho la libreria.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    122
    Non credo sia una questione di qulità sai...infatti settandola in quel modo si vede male lo stesso....credo sia un problema che sorge nella conversione...io ho scritto un altra utility che converte tiff in jpg che funziona benissimo....

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Probabilmente hai ragione e c'e' qualcosa che non va nell'algoritmo di compressione. Con Gif piu' semplici non da problemi, con quella che hai detto tu, invece c'e' quello sgradevole spostamento verso il rosso.

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Conversione gif->tiff->jpg da lo stesso problema?

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    122
    mi sono spegato male....io converto una tiff in una jpeg e non perdo di qualità, mentre da gif a jpeg sorge quel problema da gif a tiff non ho provato ma dovrei scrivermela...ho visto però che le gif supportano 256 colori la jpeg risultante ne ha molti di piu...potrebbe essere una causa??

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.