Bonsoir! Comment faire pour Sauvegarder l'affichage de la console en image ?
(je veux pas faire des Screenshots mais plutôt je voulais que je sauvegarde le résultat de mon programme a partir du programme même)
Bonsoir! Comment faire pour Sauvegarder l'affichage de la console en image ?
(je veux pas faire des Screenshots mais plutôt je voulais que je sauvegarde le résultat de mon programme a partir du programme même)
Tu souhaites écrire dans un fichier tout ce qui sort dans la console ?
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
Que la force de la puissance soit avec le courage de ta sagesse.
Salut,
Je suis dubitatif sur l'intérêt d'avoir une image qui ne contient que du texte, et surtout le texte d'une console. Enfin, je suppose que le but est de pouvoir lire le texte lorsqu'on regarde l'image.
Tu te rends compte que le texte envoyé vers la console peut avoir une taille conséquente (sauf si c'est un programme du genre qui affiche que "Hello World"), et que faire une image qui contient ce texte peut donc avoir une taille énorme. En plus, une image ayant une taille finie, alors que le texte d'une console ne peut avoir qu'une taille finie qu'à la fin de l'exécution du programme, il faudrait sauvegarder le contenu de la console (output, comme input, éventuellement), pour pouvoir déterminer la taille finie de l'image lorsqu'on a le texte complet de la console, donc, il faut le mémoriser, donc, le plus simple serait de le sauvegarder dans un fichier texte.
Donc ta problématique peut se résumer à
- rediriger la console vers un fichier texte ;
- éventuellement intercepter l'input de la console, pour l'envoyer vers ce fichier texte ;
- convertir un fichier texte en image.
Pour les 2 premiers, il suffit de remplacer le System.out par une instance d'OutputStream adéquate (redirigeant vers un FileOutputStream), et le System.in par une instance d'InputStream, qui redirige également vers même FileOutputStream. Si'l n'y a pas besoin de l'input, une API de logging, comme log4j par exemple, pourrait le faire, également.
Pour convertir un fichier texte en image, il faut d'abord déterminer la police, et son style (taille en particulier), les dimensions de l'image en fonction de la taille de la police et de la largeur qu'on lui impose (80 colonnes de caractères par exemple). Ensuite, tu crées une BufferedImage, et tu écris dedans le texte du fichier, avec la méthode drawString, en suivant l'exemple de la FAQ Comment dessiner et écrire dans une BufferedImage.
Par ailleurs, attention, à la mémoire que pourra occuper ton image en fonction de la taille du texte.
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Ou sinon, on prend un screenshot de la console, depuis le programme...
http://docs.oracle.com/javase/6/docs...awt/Robot.html
(oui je sais, t'as dis que tu voulais pas de screenshot, mais je pars du postulat que tu ne voulais pas de screenshots manuels)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 BufferedImage image = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())); ImageIO.write(image, "png", new File("/screenshot.png"));
"Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"
Confucius, 448 av. J-C
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager