Bonjour,
Je cherches à créer une image en java de manière dynamique. Je m’explique j’ai une image de fond sur laquelle je souhaite placer d’autres images et enregistrer la nouvelle image ainsi créé. Merci de votre aide.
Bonjour,
Je cherches à créer une image en java de manière dynamique. Je m’explique j’ai une image de fond sur laquelle je souhaite placer d’autres images et enregistrer la nouvelle image ainsi créé. Merci de votre aide.
Quelle est la partie qui te pose probleme ???
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 BufferedImage bigImage = new BufferedImage(bigWidth, bigHeight, BufferedImage.LE_TYPE_QUI_VA_BIEN_ICI); Graphics2D graphics = bigImage.createGraphics(); try { for (Image image : images) { // calculer la position x,y du coin superieur gauche de l'image a dessiner. ... graphics.drawImage(image, x, y, null); ... } } finally { graphics.dispose(); } try { // On sauvegarde sur le disque. ImageIO.write(bigImage, "png", new File("ZeBigImage.png")); } catch (Exception e) { e.printStackTrace(); }
Et bien pour commencer je suis novice en java... J'ai une photo qui me sert de fond sur laquelle je voudrais placer d'autres photos et enregistrer la nouvelle image assemblée sur disque. Il ne s'agit pas de dessiner quelque chose sur une image existante.... J'ai fait quelques recherches en vain pour le moment... Le débutant que je suis ne sais pas pas ou commencer les recherches...
Je crois que le code de bouye répond à tous tes problèmes...
Il faut juste que tu indique l'emplacement de chaque image et peut-être que tu modifie leur taille avec un scale. Mais je vois pas où il te reste des problèmes... N'hésite pas à approfondir ta question.
Si jamais la FAQ peut passablement t'aider, elle m'a été d'un grand secours à mes débuts.
http://java.developpez.com/faq/java/
Merci je me lance... j'ai une question par rapport à la ligne :
for (Image image : images) {
Je dois lire une des images sur disques (celles que je vais placer sur l'image de fond), d'ôù la boucle "for". Cependant j'imagine que je ne peux pas écrire ça comme ça... Savez-vous quelle est syntaxe ? Serait-ce quelques chose comme Image image = toolkit.getImage("fichier");
La dernière ligne ne crée pas de fichier..... Une idée du pourquoi du comment
java.awt.Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit();
Image image = toolkit.getImage("/tmp/test2.jpg");
BufferedImage bigImage = new BufferedImage(500, 500, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = bigImage.createGraphics();
graphics.drawImage(image, 20, 20, null);
ImageIO.write(bigImage, "jpg", new File("/tmp/NEW.jpg"));
Elle ne cree pas de fichier ou alors l'image est vide ?
Tu ne devrais pas charger des images avec Toolkit surtout pour ce genre de travail. En effet l'image est chargee de maniere asynchrone peut ne pas etre completement chargee en memoire lorsque tu la dessines dans ton image destination. Utilise donc ImageIO a la place.
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