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

Graphisme Java Discussion :

Création BMP avec info DPI


Sujet :

Graphisme Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 56
    Par défaut Création BMP avec info DPI
    Bonjour,

    Je suis en train d'essayer de créer une image monochrome 1421x640 pixels en Java avec une résolution de 200 dpi mais je rencontre des soucis

    Avec un logiciel comme GIMP, si l'on créée une nouvelle image, la spécification de la résolution est possible.

    Sur base d'exemples trouvés sur le net j'utilise le bout de code posté ci dessous. L'idée consiste à aller modifier les datas du header BMP.

    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
    33
    34
    35
    @Test
        public void testCreateBitmap() {
            BufferedImage image = new BufferedImage(1421, 640, BufferedImage.TYPE_BYTE_BINARY);
            saveBMP(image, 200, "c:\\temp\\newBMP.bmp");
        }
     
        public void saveBMP(BufferedImage bufferedImage, int dpi, String file) 
        { 
            try 
            {
                // Image writer
                BMPImageWriter imageWriter = (BMPImageWriter) ImageIO.getImageWritersBySuffix("bmp").next();
                ImageOutputStream ios = ImageIO.createImageOutputStream(new File(file)); 
                imageWriter.setOutput(ios); 
     
                // Compression 
                BMPImageWriteParam bmpParams = (BMPImageWriteParam) imageWriter.getDefaultWriteParam();
                bmpParams.setCompressionMode(BMPImageWriteParam.MODE_DISABLED); 
     
                // Metadata (dpi) 
                IIOMetadata data = imageWriter.getDefaultImageMetadata(new ImageTypeSpecifier(bufferedImage), bmpParams); 
                Element tree = (Element)data.getAsTree("javax_imageio_bmp_1.0");
                tree.getElementsByTagName("X").item(0).setNodeValue(""+dpi);
                tree.getElementsByTagName("Y").item(0).setNodeValue(""+dpi);
     
                // Write and clean up 
                imageWriter.write(data, new IIOImage(bufferedImage, null, null), bmpParams);
                ios.close(); 
                imageWriter.dispose();
            } 
            catch (Exception e) 
            {
                e.printStackTrace();
            } 
        }
    Lorsque j'ouvre l'image dans MSPaint, dans les propriétés de l'image créée, la résolution reste toujours affichée à 85x85...

    L'un d'entre vous aurait-il quelques conseils / aide à m'apporter ?

    D'avance je vous remercie.

    Sébastien

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Pour faire simple, une image n'a pas de résolution en soit, vu qu'il ne s'agit que d'un vulgaire tableau de pixel...

    Les résolutions ne concernent que les périphériques servant à afficher/imprimer.

    Vois tu vraiment une différence entre ton image en 200dpi et une image en 96dpi?

    Celà m'étonnerait, ce qui définit la résolution d'une image c'est son nombre de pixels, rien de plus. Les dpi spécifient le nombre de pixels par pouce qu'un périphérique est capable d'afficher/imprimer.

    De fait dans ton cas il ne s'agit que de tags de type meta data dont peut éventuellement se servir l'imprimante....

Discussions similaires

  1. Création de tables en liste avec infos
    Par danieldou dans le forum Débuter
    Réponses: 8
    Dernier message: 29/05/2014, 07h07
  2. Réponses: 8
    Dernier message: 19/03/2008, 19h08
  3. Création d'un fichier .bmp avec PrintWindow
    Par Irken dans le forum Windows
    Réponses: 8
    Dernier message: 05/09/2007, 18h03
  4. Création vue avec test d'existence
    Par yan77 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/12/2004, 11h44
  5. [TP]Gestion des images bmp avec BMP.TPU
    Par Gabi dans le forum Turbo Pascal
    Réponses: 9
    Dernier message: 14/05/2004, 23h20

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