Bonjour,
Je développe une application sous SWT et je trace des choses dans un canvas.
J aimerais savoir si il est possible de sauvegarder le canvas en Jpeg ? et en bmp ? Et surtout quoi utiliser pour le faire.
Merci d'avance.
Bonjour,
Je développe une application sous SWT et je trace des choses dans un canvas.
J aimerais savoir si il est possible de sauvegarder le canvas en Jpeg ? et en bmp ? Et surtout quoi utiliser pour le faire.
Merci d'avance.
A priori, pour ne pas "oublier" ce que tu dessines dans le canvas, tu le dessines dans une BufferedImage ou quelque chose de similaire.
Il s'agit simplement d'enregistrer cette BufferedImage dans un fichier, à l'aide de ImageIO.write()
Un bufferdImage c'est pas une classe Swing ? parceque moi je suis sous SWT donc ça serait la classe Image que je devrais utiliser ?
Ah, si, en effet. Du coup, je n'ai pas beaucoup joué avec SWT, mais d'après ce que je vois de la JavaDoc, une Image peut être enregistrée dans un fichier avec ImageLoader.save().
Oui c'est par là qu'il fallait passe , j ai aussi trouvé ça ce matin.
Voilà ma soluce pour ceux que sa intéresse :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 int width = canvas.getSize().x; int height = canvas.getSize().y; Image image = new Image(getDisplay(), width, height); canvas.update(); GC gc = new GC(canvas); gc.copyArea(image, 0, 0); // Enregistre l'image dans un fichier ImageLoader imageLoader = new ImageLoader(); imageLoader.data = new ImageData[] { image.getImageData() }; imageLoader.logicalScreenWidth = image.getImageData().width; imageLoader.logicalScreenHeight = image.getImageData().height; imageLoader.save(fileDialog.getFilterPath() + "\\" + selectedFiles[i], SWT.IMAGE_BMP);
Il me reste quand même un problème parce que quand je redimensionne la fenêtre , cela redimensionne aussi l'image jpeg ou bmp que je sauvegarde.
Quelqu'un a t il une solution pour sauvegarder l'image contenue dans mon canevas a un e taille fixe ?
Partager