Bonjour à tous,
Je voudrais récupérer le flux de sorti du programme "Imagemagick" afin d'afficher l'image convertie correspondante. Je me demandais quelles sont les conditions pour créer un flux d'entrée ou de sorti pour échanger avec un programme externe?
Pour cela j'ai essayé ce code qui ne fonctionne pas.
Merci pour votre aide.
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 //On récupére le processus avec la commande associée processus = Runtime.getRuntime().exec(commande); //Puis le flux InputStream inputStream = processus.getInputStream(); //On crée un channel et on récupère un ReadableByteChannel ReadableByteChannel ReadableByteChannel = Channels.newChannel(InputStream); //On lit le flux par l'intermédiaire du channel et on place le résultat de la lecture dans un ByteBuffer ByteBuffer buffer = ByteBuffer.allocate(1024); ReadableByteChannel.read(buffer); //On récupére le tableau de sorti byte[] tableau_byte = buffer.array(); //On crée l'image Toolkit Toolkit = jtextpane.getToolkit(); Image img = Toolkit.createImage(tableau_byte, 0, tableau_byte.length); //On l'affiche dans un JTextPane jtextpane.insertIcon(new ImageIcon(img));
Partager