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 :

Créer une image jpeg


Sujet :

2D Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 190
    Points : 153
    Points
    153
    Par défaut Créer une image jpeg
    Bonjour à tous,

    Voici mon problème:
    En entré, j'ai une une série de coordonnées (x=..., y=...). En sortie, une image jpeg qui affiche les points correspondants.

    Dans un premier temps, j'ai créé un JPanel puis je l'ai transformé en jpeg avec la méthode ImageIO.write. Tout fonctionne bien.

    Sauf que j'ai besoin de lancer mon application sur un serveur distant. Du coup, j'ai l'erreur suivante:
    Exception in thread "main" java.awt.HeadlessException
    at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)


    Je comprends le problème mais je ne sais pas quoi faire:
    -Les solutions qui consiste à rediriger l'affichage sur ma machine ne sont pas possible.
    - Dire à awt que je souhaite créer l'objet mais pas l'afficher...?
    - Utiliser un outils tel que gnu-plot. Mais il n'est pas installer. Sur mon serveur, il n'y a même pas de compilateur C pour l'installer.
    - Utiliser une autre solution...

    Merci de votre aide.

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    En fait il faut que tu démarres la JVM avec une option particulière lui indiquant qu'il n'y a pas d'environnement graphique à disposition (à savoir pas de serveur X).

    Tu peux procéder de deux façon pour ça

    Soit lancer java avec l'option qui va bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -Djava.awt.headless=true
    Soit spécifier ceci dans ton code (moins propre à mon gout)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.setProperty("java.awt.headless", "true");
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 190
    Points : 153
    Points
    153
    Par défaut
    Salut sinok,

    Merci pour ton aide. J'ai tout de suite essayé ton idée. Voilà le résultat que j'ai obtenu:
    Exception in thread "main" java.awt.HeadlessException at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)
    at java.awt.Window.<init>(Window.java:432)
    at java.awt.Frame.<init>(Frame.java:403)
    at java.awt.Frame.<init>(Frame.java:368)
    at javax.swing.JFrame.<init>(JFrame.java:158)

    J'ai fait une recherche et voici ce que j'ai compris:
    java.awt.headless=true permet de tester le mode headless même quand tu as une sortie graphique. Par contre, cela ne permet pas de gérer une JFrame dans un environnement non graphique.

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Pourquoi cherches tu à afficher une JFrame dans un environnement non graphique?

    Ca n'a pas de sens.

    Et puis pas besoin de JFrame pour générer une image normalement
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 190
    Points : 153
    Points
    153
    Par défaut
    Tout a fait. C'est ce que je viens de comprendre. Je peux créer un Graphics2D sans créer de JFrame.

    Du coup mon problème est résolu.

    Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer une image au format JPEG
    Par forum dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 09/03/2011, 19h52
  2. créer une image jpeg
    Par pigeon11 dans le forum Imagerie
    Réponses: 4
    Dernier message: 31/07/2008, 16h21
  3. [Image]Créer une image avec JAVA 1.1
    Par burno dans le forum 2D
    Réponses: 4
    Dernier message: 11/08/2004, 09h19
  4. Copier une image (jpeg) dans le presse papier
    Par benj63 dans le forum C++Builder
    Réponses: 2
    Dernier message: 29/07/2002, 14h51
  5. comment réduire une image jpeg (taille x*y)
    Par don-diego dans le forum C
    Réponses: 4
    Dernier message: 14/07/2002, 20h06

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