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

Langage Java Discussion :

[débutant][image] copier une image dans une autre.


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2003
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 14
    Par défaut [débutant][image] copier une image dans une autre.
    Bonjour, je souhaite créer une image à partir de motifs existant.
    Donc j'appelle correctement mon motif et je cree une Image tampon qui sera ma future image.

    En clair je recherche une fonction du type :

    MonImage = copierImage(Motif, entier1, entier2);

    Avec entier1 et entier2 les coordonnées du coin gauche haut du motif dans l'image finale. En fait je veux copier mon motif dans une image et le placer à ma guise.

    Merci.

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Il va falloir que tu fasses joujou avec java2d et la classe Graphics2D et ses méthodes drawXXX

    Grosso modo tu récupères la BufferedImage d'origine, tu crée un nouvelle BuferedImage de la taille voulue, tu crées ses Graphics2D, puis tu fais un drawImage de ton Image d'origine sur ces graphics

    http://java.sun.com/j2se/1.5.0/docs/...raphics2D.html

  3. #3
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 904
    Billets dans le blog
    54
    Par défaut
    Et aussi un peu car c'est un code simple et couramment poste. Aller voir la aussi ca aide...
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  4. #4
    Membre averti
    Inscrit en
    Février 2003
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 14
    Par défaut
    En fait il suffit de creer une bufferedImage de l'image finale et utiliser la fonction "drawImage" en indiquant l'image que l'on souhaite copier dans la nouvelle. Les 2 premiers couples de point correspondent à la zone où l'on veut copier le motif. Et les 2 autres couples correspondent à la zone que l'on souhaite copier du Motif.
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    import java.awt.*;
    import java.awt.image.*;
    import java.io.File;
    import java.io.IOException;
    import javax.imageio.ImageIO;
     
     
    public class DessinCarte {
        public DessinCarte() {
        }
     
        public void initCarte() throws IOException {
            int width, height;
            String nomCarte;
            String DossierMotif = "Images/Terrains/";
     
            // Images
            Image Motif;
            BufferedImage bCarte;
     
            // Carte générée
            width = height = 200;
            nomCarte = "Images/Temp";
            bCarte = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
     
            // Motif utilisé
            Motif = Toolkit.getDefaultToolkit().getImage(DossierMotif + "Ocean.jpg");
            if(Motif.getHeight(null) <= 0) bCarte = null;
            else {
                System.out.println("Hauteur Motif: " + Motif.getHeight(null));
                bCarte = Composition(bCarte, Motif);
            }
     
     
            // on enregistre la carte
            if(bCarte != null) ImageIO.write(bCarte, "png", new File(nomCarte + ".png"));
        }
     
     
        BufferedImage Composition(BufferedImage bCarte, Image Motif){
            // On cree l'espace de travail et on ajoute le motif a la carte
            Graphics gCarte = bCarte.createGraphics();
            gCarte.drawImage(Motif,50,50,100,100,0,0,50,50,null);
     
            // on libere de la memoire
            gCarte.dispose();
     
            return(bCarte);
        }
    }
    Voila, et merci pour les tuyaux.

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

Discussions similaires

  1. copier une table d'une BDD dans une table d'une autre BDD
    Par faniette dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2013, 10h17
  2. Réponses: 6
    Dernier message: 16/06/2011, 12h45
  3. Recuperer une valeur dans une grille sur une image
    Par gwal21 dans le forum Images
    Réponses: 3
    Dernier message: 26/02/2011, 23h41
  4. Copier une partie d'une form dans une image
    Par Duan dans le forum Débuter
    Réponses: 5
    Dernier message: 11/05/2009, 16h16
  5. Réponses: 2
    Dernier message: 02/06/2006, 11h26

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