Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1932 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Convertir un BMP en JPG

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Convertir un BMP en JPG

n°438821
MrTonio
Posté le 25-06-2003 à 11:36:32  profilanswer
 

Salut,
 
je cherche un bout de code me permettant de convertir un .bmp et .jpg (avec une jdk < 1.4)


---------------
WoIP - Video and Voice over IP -  http://www.woip.net/
mood
Publicité
Posté le 25-06-2003 à 11:36:32  profilanswer
 

n°438826
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 25-06-2003 à 11:41:09  profilanswer
 

javax.imageio était livré sous un jar à part pour les versions antérieures à la 1.4. Cherche un brin sur le site de Sun, ça devrait se trouver.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°438886
MrTonio
Posté le 25-06-2003 à 12:38:25  profilanswer
 

justement j ai cherché .....


---------------
WoIP - Video and Voice over IP -  http://www.woip.net/
n°438894
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 25-06-2003 à 12:50:35  profilanswer
 

Ah vi effeectivement, c'est 1.4 seulement... j'pensais qu'il avait été sorti avant et intégré seulement au JDK que depuis la 1.4. [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°439022
bobuse
Posté le 25-06-2003 à 14:35:53  profilanswer
 

Je connais quelqu'un qui avait trouver un JAR qui lui permettait de sauver des images en JPG, je connais pas le nom de ce JAR, mais je vais essayer de voir ...


---------------
get amaroK plugin
n°439030
El_gringo
Posté le 25-06-2003 à 14:38:25  profilanswer
 

Ben, avce JAI que peux faire ça.
Java Advanced Imaging, une librairie de Sun, tu trouveras facilement.

n°439088
bobuse
Posté le 25-06-2003 à 15:02:32  profilanswer
 

voila ce que j'ai pu recuperer comme info ... :  
 
 

// Version 1.0a
// Copyright (C) 1998, James R. Weeks and BioElectroMech.
// Visit BioElectroMech at www.obrador.com.  Email James@obrador.com.
 
// See license.txt for details about the allowed used of this software.
// This software is based in part on the work of the Independent JPEG Group.
// See IJGreadme.txt for details about the Independent JPEG Group's license.
 
// This encoder is inspired by the Java Jpeg encoder by Florian Raemy,
// studwww.eurecom.fr/~raemy.
// It borrows a great deal of code and structure from the Independent
// Jpeg Group's Jpeg 6a library, Copyright Thomas G. Lane.
// See license.txt for details.


---------------
get amaroK plugin
n°439566
benou
Posté le 25-06-2003 à 20:57:53  profilanswer
 

ton bonheur est là : http://java.sun.com/products/java- [...] nload.html /!\ le lien, pas la combo. Nécessite un enregistrement
là : http://java.sun.com/products/java- [...] OC.fm.html TRES TRES BON !!
et là : http://java.sun.com/products/java- [...] index.html javadoc ... indispensable
 
conclusion :  

Code :
  1. InputStream inFile = new FileInputStream("E:/temp/photos/toto.bmp" );
  2. SeekableStream s = SeekableStream.wrapInputStream(inFile, false);
  3. ParameterBlock pb = new ParameterBlock();
  4. pb.add(s);
  5. PlanarImage img = JAI.create("BMP", pb);
  6. OutputStream outFile = new FileOutputStream("E:/temp/photos/toto.jpg" );
  7. JPEGEncodeParam encodeParam = new JPEGEncodeParam();
  8. encodeParam.setQuality(0.75f);
  9. ImageEncoder encoder = ImageCodec.createImageEncoder("JPEG", outFile, encodeParam);
  10. encoder.encode(img);
  11. inFile.close();
  12. outFile.close();


ou en 1 ligne pour le fun

Code :
  1. ImageCodec.createImageEncoder("JPEG", new FileOutputStream("E:/temp/photos/toto.jpg" ), new JPEGEncodeParam(){{setQuality(0.75f);}}).encode(JAI.create("fileload", new ParameterBlock().add("E:/temp/photos/toto.bmp" )));


Message édité par benou le 25-06-2003 à 21:27:29

---------------
ma vie, mon oeuvre - HomePlayer
n°439638
MrTonio
Posté le 25-06-2003 à 23:22:18  profilanswer
 

Marchi pour tout je vais tester :jap:


---------------
WoIP - Video and Voice over IP -  http://www.woip.net/
n°439782
El_gringo
Posté le 26-06-2003 à 08:51:23  profilanswer
 

benou a écrit :

ton bonheur est là : http://java.sun.com/products/java- [...] nload.html /!\ le lien, pas la combo. Nécessite un enregistrement
là : http://java.sun.com/products/java- [...] OC.fm.html TRES TRES BON !!
et là : http://java.sun.com/products/java- [...] index.html javadoc ... indispensable
 
conclusion :  

Code :
  1. InputStream inFile = new FileInputStream("E:/temp/photos/toto.bmp" );
  2. SeekableStream s = SeekableStream.wrapInputStream(inFile, false);
  3. ParameterBlock pb = new ParameterBlock();
  4. pb.add(s);
  5. PlanarImage img = JAI.create("BMP", pb);
  6. OutputStream outFile = new FileOutputStream("E:/temp/photos/toto.jpg" );
  7. JPEGEncodeParam encodeParam = new JPEGEncodeParam();
  8. encodeParam.setQuality(0.75f);
  9. ImageEncoder encoder = ImageCodec.createImageEncoder("JPEG", outFile, encodeParam);
  10. encoder.encode(img);
  11. inFile.close();
  12. outFile.close();


ou en 1 ligne pour le fun

Code :
  1. ImageCodec.createImageEncoder("JPEG", new FileOutputStream("E:/temp/photos/toto.jpg" ), new JPEGEncodeParam(){{setQuality(0.75f);}}).encode(JAI.create("fileload", new ParameterBlock().add("E:/temp/photos/toto.bmp" )));




 
D'ailleurs, au passage, tu la trouves pas bizarrement faite cette librairie benou ?  
Toutes ces chaines de caractères, tous ces paramètres plus ou moins vagues (avec les ParameterBlocks, si j'me rappelles bien). En principe, une librairie bien faite, on arrive plus ou moins à l'utiliser juste avec le Javadoc. Avec JAI c'est même pas la peine d'essayer. La javadoc est reléguée à une utilité carrément secondaire. J'trouve ça étonnant sachant que c'est un produit Sun.
 
EDIT : cela mis à part, JAI est très bien : elle permet de faire de tas de trucs et est rapide (elle peut même fonctionner en mode natif pour les transformations d'images).


Message édité par El_gringo le 26-06-2003 à 08:53:49
mood
Publicité
Posté le 26-06-2003 à 08:51:23  profilanswer
 

n°439789
benou
Posté le 26-06-2003 à 09:01:35  profilanswer
 

C'est vrai que c'est assez déroutant ...
C'est la 1ere API du genre que je vois...
 
de toute façon, avant que je trouve la doc (le 2e lien), j'arrivais à rien faire !! Et elle est bien planquée cette doc :/


---------------
ma vie, mon oeuvre - HomePlayer
n°439804
El_gringo
Posté le 26-06-2003 à 09:11:05  profilanswer
 

benou a écrit :

C'est vrai que c'est assez déroutant ...
C'est la 1ere API du genre que je vois...
 
de toute façon, avant que je trouve la doc (le 2e lien), j'arrivais à rien faire !! Et elle est bien planquée cette doc :/
 


 
Ben, c'est crade, tout simplement !
Moi j'ai eu tout de suite la 2nde doc. Mais heureusement, parce qu'en ne voyant QUE la javadoc, tu dois vraiment prendre peur.

n°439822
benou
Posté le 26-06-2003 à 09:29:25  profilanswer
 

ouais, je sais pas trop pkoi ils ont fait cette API de cette façon là. Surement pour éviter d'avoir trop d'objets ... mais c'est pas vraiment une bonne raison ...
 
en passant, y a un truc que j'aime pas dans JAI : quand tu ouvres une image comme je le fais dans mon 2e code (en passant par le nom de fichier, pas par un flux), le fichier reste ouvert ! :/


---------------
ma vie, mon oeuvre - HomePlayer
n°439867
El_gringo
Posté le 26-06-2003 à 10:13:15  profilanswer
 

benou a écrit :


en passant, y a un truc que j'aime pas dans JAI : quand tu ouvres une image comme je le fais dans mon 2e code (en passant par le nom de fichier, pas par un flux), le fichier reste ouvert ! :/


 
Ha ouais... C'est pas top ça. Mieux vaut passer par les flux.

n°439897
benou
Posté le 26-06-2003 à 10:30:15  profilanswer
 

y a peut être un moyen de le fermer puisque l'image doit garder une référence sur le flux (il est aps lu tout de suite), mais je ne sais pas comment ...


---------------
ma vie, mon oeuvre - HomePlayer

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Convertir un BMP en JPG

 

Sujets relatifs
Probleme pour convertir en PDFConvertir un string
Convertir une chaine char* en hexa en entier [Résolu]Convertir un float en string en C++
[ASM] Convertir des DB -> DWconvertir une appli access en VB
[FORTRAN] convertir une chaine caractere en entier[PHP] Convertir une valeur contenant un espace -> valeur avec %20
Ouvrir un BMP et le convertir en JPGConvertir Jpg en Bmp
Plus de sujets relatifs à : Convertir un BMP en JPG


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR