begin process at 2010 02 10 05:39:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Java2D et java3D

 > 

redimensionnement de JPEG et EXIF


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

redimensionnement de JPEG et EXIF

mercredi 8 juin 2005 à 22:22:19 | redimensionnement de JPEG et EXIF

Neo3004

Je cherche une solution à un problème depuis un moment :

J’essaie de sauvegarder des vignettes de photos en JPEG tout en sauvegardant les infos EXIF.
Ca marche sans problème excepté pour les photos verticales après rotation,

j’obtiens une photo en « 2 tons » vert et violet.

Ci-dessous la méthode de création d’un vignette : 

         public void createThumbnail( String orig, String thumb, int maxDim) {
                
try {                        
                         
// Get the image from a file.
                         
Image inImage = new ImageIcon(orig).getImage();
                        

                         
//int maxDim=120;
                          // Determine the scale.
                
         double scale = (double)maxDim/(double)inImage.getHeight(null);
                         
if (inImage.getWidth(null) > inImage.getHeight(null)) {
                                  
scale = (double)maxDim/(double)inImage.getWidth(null);
                         
}
                        

                          // Determine size of new image.
                         
//One of them
                
         // should equal maxDim.
                         
int scaledW = (int)(scale*inImage.getWidth(null));
                         
int scaledH = (int)(scale*inImage.getHeight(null));
//                        int scaledW = 120;

//                        int scaledH = 120;
 

                         
// Create an image buffer in
                         
//which to paint on.
                         
BufferedImage outImage =
                         
  new BufferedImage(scaledW, scaledH,
                                  
BufferedImage.TYPE_INT_RGB);
                          // Set the scale.
                         
AffineTransform tx =
                         
 
new AffineTransform();

                         
// If the image is smaller than
                         
//the desired image size,
                         
// don't bother scaling.
                         
if (scale < 1.0d) {
                                  
tx.scale(scale, scale);
                         
}

                         
// Paint image.
                         
Graphics2D g2d =
                         
 outImage.createGraphics();
                         
g2d.drawImage(inImage, tx, null);
                         
g2d.dispose();

                         
// JPEG-encode the image
                         
//and write to file.

                         
 File srcImageFile = new File(orig);
                         
ImageInputStream iis = ImageIO.createImageInputStream(srcImageFile);
                         
ImageReader reader = (ImageReader) ImageIO.getImageReaders(iis).next();
                         
reader.setInput(iis);
                         
IIOImage srcIIOImage = reader.readAll(0, null);
                          // Writing IIOImage
                         
File destFile = new File(thumb);
                         
IIOImage destIIOImage = new IIOImage(outImage, null, srcIIOImage.getMetadata());
                         
ImageOutputStream ios = ImageIO.createImageOutputStream(destFile);
                         
ImageWriter writer = (ImageWriter) ImageIO.getImageWritersByFormatName("jpg").next();
                         
writer.setOutput(ios);
                         
ImageWriteParam writeParam = writer.getDefaultWriteParam();
                          writer.write( destIIOImage );
                         
writer.dispose();                 
                         
ios.close();


                      
//ImageIO.write(outImage, "jpg", destFile);
//                        OutputStream os = 
//                                 new FileOutputStream(thumb);

//                                 JPEGImageEncoder encoder =

//                                   JPEGCodec.createJPEGEncoder(os);

//                                 encoder.encode(outImage);


//                        jpegW = new JpegCommentWriter( os, new FileInputStream(orig));

//                        jpegW.write("");

//                        jpegW.close();

//                        os.close();

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

Merci,



Cette discussion est classée dans : int, file, image, scale, inimage


Répondre à ce message

Sujets en rapport avec ce message

Image interne a charger [ par mouchimouchi ] Hello,Autant dire que je ne m'y connais pas trop, genre debutant a fond.J'essaye d'utiliser une classe ImagePanel ... pour utiliser une image chargée Besoin d'aide création jeu d'échecs [ par laura0813 ] Bonjour, Je suis en deuxième année de licence et j'ai un projet informatique à réaliser. C'est un jeu d'échecs sans intelligence artificielle gérant l Affichage et verification des points [ par JM13nouveau ] Bjr,je cherche à  charger et afficher une image prendre une droite sur cette image, verifier l'equation de cette droite , verifier des points appartie Servlet/JSP affichage d'une image [ par simovic ] Bonjour, Pour une application distribuée je desire envoyer une image sur le serveur Tomcat avec une jsp et afficher cette image sur la meme jsp. Avez commnet faire fonctionner mon code [ par jouj85 ] s'il vous plait pouvez vous m'aider a corriger mon code voila mon code /* * To change this template, choose Tools | Templates * and open th Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 112896 [ par salhiamina ] Salut j'ai un petit souci avec mon bout de code. j'essai d'écrire le code java pour segmenter une image avec l'approche croissance de région. quand j' Image gradient !!! [ par noula27 ] Bonjour, j'ai vraiment besoin de votre aide... J'ai une image a la convertir sous forme d'image matricielle qui contient a chaque position la valeur d Pb pour correctement déplacer mon image ds un JPanel [ par damsaleg95 ] Bonjour à tous,   Voila je suis en plein dans un projet peu simple (celui de fair eun logiciel qui permet de faire des plans de maison en 2D) et la je Convertir image couleur en niveaux de gris [ par antoine2468 ] Bonjour,Je cherche à tranformer une image couleur en niveaux de gris.Voici le début de mon code :import java.awt.image.Raster;import javax.media.jai.* Upload d'image [ par Vincinho ] Bonjour tout le monde,Voila je dois faire une partie administration pour un site Internet qui permettra a l'administrateur de ce site de copier une im


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales