IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

2D Java Discussion :

[Graphics 2D] Générer/Sauvegarder une image en 300 DPI


Sujet :

2D Java

  1. #1
    Invité(e)
    Invité(e)
    Par défaut [Graphics 2D] Générer/Sauvegarder une image en 300 DPI
    Bonjour à tous,

    il y a qq temps j'avais fait un programme pour générer des images à partir de texte.
    Ca marche pas trop mal, mais le gars qui utilise le soft voudrait imprimer les images générées.
    Le problème, c'est que les images générées par défaut sont en 72 DPI, et je voudrais les générer en 300 DPI pour pouvoir les imprimer correctement (la transformation avec un soft style gimp pour passer de 72->300 DPI n'est pas bonne, on perd en qualité).

    L'image générée est faite avec Graphics2D :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    BufferedImage creationImage() {
    		int larg, tmp, long_ ;
        		bi = new BufferedImage(appli.getLargeur(),appli.getLongueur(),BufferedImage.TYPE_3BYTE_BGR);
        		Graphics2D g2d = bi.createGraphics(); // on recupere le contexte graphique de la BufferedImage
        		g2d.setColor(Color.white);
        		g2d.fillRect(0,0,appli.getLargeur(),appli.getLongueur());
    		go(g2d); //fonction qui remplit l'image
        		g2d.dispose(); //on libere la memoire utilisee pour le contexte graphique
        		return bi ;
    Et l'image est sauvegardée en jpg ou png :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ImageIO.write(creationImage(), "png", file);
    Qqun aurait-il :
    1) une solution
    2) une solution *simple* (facile à mettre en oeuvre)
    3) un bout de code m'expliquant le tout (j'avoue que le java c'est loin !)

    Merci beaucoup,

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    j'ai trouvé un bout de code sympa, mais ça ne fonctionne pas chez moi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        PNGEncodeParam png = PNGEncodeParam.getDefaultEncodeParam(bufImage);
        png.setPhysicalDimension(11811, 11811, 1);
        JAI.create("filestore", bufImage, "image.png", "PNG");
    J'ai besoin de com.sun.media.jai.codec.PNGEncodeParam, mais vu que je suis sous linux/ppc avec le jdk d'IBM, je pense pas avoir ça :/

  3. #3
    Invité(e)
    Invité(e)
    Par défaut
    Salut,

    meme sous windows en compilant, j'ai l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Traitement.java:41: package com.sun.media.jai.codec does not exist
    import com.sun.media.jai.codec.PNGEncodeParam;
    personne aurait une idée pour inclure ce package, ou tout bonnement une autre solution ??

    c'est assez important pour moi, merci
    Dernière modification par Invité(e) ; 10/10/2006 à 21h17.

  4. #4
    Invité(e)
    Invité(e)
    Par défaut
    je continue dans mon monologue :

    j'ai installé JAI, ca compile de suite mieux

    par contre, j'ai une erreur lors de l'execution du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    java Appli
    Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/sun/m
    edia/jai/codec/PNGEncodeParam
            at Traitement.SauvegardeImage(Traitement.java:116)
            at Traitement.traitementDonnees(Traitement.java:62)
            at ArPanel.actionPerformed(ArPanel.java:141)
            at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
            at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
            at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
            at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
            at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
    ce)
            at java.awt.Component.processMouseEvent(Unknown Source)
            at javax.swing.JComponent.processMouseEvent(Unknown Source)
            at java.awt.Component.processEvent(Unknown Source)
            at java.awt.Container.processEvent(Unknown Source)
            at java.awt.Component.dispatchEventImpl(Unknown Source)
            at java.awt.Container.dispatchEventImpl(Unknown Source)
            at java.awt.Component.dispatchEvent(Unknown Source)
            at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
            at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
            at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
            at java.awt.Container.dispatchEventImpl(Unknown Source)
            at java.awt.Window.dispatchEventImpl(Unknown Source)
            at java.awt.Component.dispatchEvent(Unknown Source)
            at java.awt.EventQueue.dispatchEvent(Unknown Source)
            at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
     
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
            at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
            at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
            at java.awt.EventDispatchThread.run(Unknown Source)
    Any idea ?

  5. #5
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par DoObS
    j'ai trouvé un bout de code sympa, mais ça ne fonctionne pas chez moi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        PNGEncodeParam png = PNGEncodeParam.getDefaultEncodeParam(bufImage);
        png.setPhysicalDimension(11811, 11811, 1);
        JAI.create("filestore", bufImage, "image.png", "PNG");
    J'ai besoin de com.sun.media.jai.codec.PNGEncodeParam, mais vu que je suis sous linux/ppc avec le jdk d'IBM, je pense pas avoir ça :/

    Bon, ben meme si ça compile & ça génère mon image, ça ne fait pas du 300 dpi tout ça :/
    fait bien chier

    note : l'exception vient du fait que je n'avais pas JAI dans mon CLASSPATH

  6. #6
    Invité(e)
    Invité(e)
    Par défaut
    bonjour,

    je relance le topic, pour savoir si qqun pourrait m'aider la dessus.

    Merci

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 118
    Par défaut
    DoObS,

    as-tu eu une réponse ?
    C'est exactement ce que je veux faire.

    Merci,
    F.

Discussions similaires

  1. SAUVEGARDER UNE IMAGE ET UN GRAPHICS
    Par eric062 dans le forum VB.NET
    Réponses: 7
    Dernier message: 17/11/2008, 12h42
  2. [ImageMagick] Sauvegarder une image dans un fichier
    Par kivan666 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 15/12/2006, 13h28
  3. sauvegarder une image dans un champ blob ?
    Par eric95 dans le forum Hibernate
    Réponses: 4
    Dernier message: 26/10/2006, 11h41
  4. Urgent: Sauvegarder une image sous excel
    Par aimane_z dans le forum Modules
    Réponses: 3
    Dernier message: 05/10/2006, 16h45
  5. Sauvegarder une image (.GIF/.JPG) avec CppWebBrowser
    Par Argol_Medusa dans le forum C++Builder
    Réponses: 12
    Dernier message: 12/12/2005, 12h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo