Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Redimensionner un BufferedImage [ Divers / Applets ] (flolag)

mardi 13 mai 2008 à 12:53:24 | Redimensionner un BufferedImage

flolag

Bonjour,
Je cherche comment redimensionner un BufferedImage. Bien entendu j'ai trouvé cela dans la FAQ (http://java.developpez.com/faq/gui/?page=graphique_general_images#GRAPHIQUE_IMAGE_redimensionner) mais cela ne correspond pas à ce que je veux. En effet l'image que je veux redimensionner est aléatoire et peut donc avoir des tailles différentes. Je voudrais donc pouvoir redimensionner l'image pour l'écrire ensuite sur le disque.

je voudrais donc savoir comment faire pour redimensionner l'image soit dans le BufferedImage ou au moment de l'ecriture ImageIO.write(...).

Si vous avez des solutions merci d'avance


mardi 13 mai 2008 à 14:00:57 | Re : Redimensionner un BufferedImage

flolag

C'est bon probleme résolu avec :

Image image = monImage.getScaledInstance(largeur, hauteur, BufferedImage.SCALE_SMOOTH);
            image.flush();
            monImage = new BufferedImage(largeur, hauteur, BufferedImage.TYPE_INT_RGB);
            monImage.createGraphics().drawImage(image, 0, 0, null);
            monImage.flush();

Florent

mardi 13 mai 2008 à 14:44:39 | Re : Redimensionner un BufferedImage

uhrand

/*
     * "getIconImage" uses the scaling version of "drawImage"
     * which ist faster than "java.awt.Image#getScaledInstance"
     */
    public BufferedImage getIconImage(JPanel panel, BufferedImage image, int size) {
        int w = image.getWidth();
        int h = image.getHeight();
        double f = 0;
        if (w < h) {
            f = (double) h / (double) w;
            w = (int) (size / f);
            h = size;
        } else {
            f = (double) w / (double) h;
            w = size;
            h = (int) (size / f);
        }
        BufferedImage iconImage;
        GraphicsConfiguration conf = getGraphicsConfiguration();
        iconImage = conf.createCompatibleImage(w, h, image.getTransparency());
        Graphics2D g = iconImage.createGraphics();
        g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
                RenderingHints.VALUE_INTERPOLATION_BILINEAR);
        g.drawImage(image, 0, 0, w, h, null);
        g.dispose();
        return iconImage;
    }
...
                    BufferedImage pictureResized = getIconImage(p, image, pictureSize);
                    try {
                        String name = directory.getName();
                        name = name + "_" + (count2 < 10 ? "0" : "");
                        String saveName = saveDir.getAbsolutePath() + "\\" + name + count2 + ".jpg";
                        ImageIO.write(pictureResized, "jpg", new File(saveName));
                        count2++;
                    } catch (IOException ex) {
                        Logger.getLogger(PictureViewerDemo.class.getName()).log(Level.SEVERE, null, ex);
                    }



Cette discussion est classé dans : image, graphique, redimensionner, bufferedimage, faq


Répondre à ce message

Sujets en rapport avec ce message

Redimensionner image animée [ par flolag ] Salut,J'ai créer une applet de redimensionnement d'image. J'effectue le redimensionnement avec cette méthode ://Redimensionnement de l'image           TiledImage: Passer par Graphics2D.drawImage() ou par BufferedImage.getSubImage() ? [ par nodragem ] Bonjour à tous, je fais mes premiers pas en programmation et suis entrain d'écrire un petit moteur de jeu (pour un jeu de Tank). Comme y'aura des spri Obtenir format BufferedImage [ par flolag ] Salut,J'ai un applet qui manipule des images. Le truc est que je voudrais savoir le format de mon image pour l'enregistrer ensuite dans ce même format Problèmes Interface graphique [ par COLOMBAT ] Je suis actuellement en train de développer une application en Java.Comme vous pouvez le voir, elle est découpée en deux parties et ressemble un peu à [graphique]lecture d'une plaque de matriculation [ par ghazel16 ] bonjour a tous. je suis en train de developper un projet sur la lecture des matricules avec un webcam. je vous demande si quelq'un sait comment rendre Afficher une image [ par imed79 ] je travaille sous un environnement struts/tiles, il m'a été demandé de generer un certain graphe depuis un certain tableau de donnée et d'afficher l'i Comment redimensionner une image [ par bordeaux ] Bonjour j'ai beaucoup cherché mais je crois que ça reste un non dit de SUN.Comment faire pour redimensionner une image?Mais simplement c'est à dire sa Scroll sur objet graphique... [ par Mikonyx ] Salut, mon problème est le suivant, j'ai inséré une image à travers un composant java2d sur un jpane, j'ai ensuite inséré ce jpane sur un jscrollpane


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,530 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.