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

Interfaces Graphiques en Java Discussion :

[Débutant] Comment découper une image?


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre du Club Avatar de kayzra
    Inscrit en
    Novembre 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 110
    Points : 68
    Points
    68
    Par défaut [Débutant] Comment découper une image?
    Je souhaiterai découper une image en une mosaïque de 4 images (4 morceau de mêmes tailles) que je souhaite utiliser en icônes sur des composants. Je crois qu'il est nécessaire d'utiliser un BufferedImage mais je n'ai aucune idées sur méthodes à employer.

    Mon pauvre niveau en anglais et mon manque d'expérience en Java ne me permettent pas de trouver la solution à mon problème je sollicite donc humblement votre aide afin m'aiguiller sur les différentes méthodes à utiliser?

  2. #2
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Hello,

    avant tout il faut charger ton fichier image dans un objet BufferedImage...

    Ensuite, tu créé 4 nouvelles instances de BufferedImage de la taille voulue.

    Tertio, tu dessine dans ces instances les parties de l'image source qui t'intéressent.

    Finalement, tu enregistre dans des fichiers grace à ImageIO

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    BufferedImage i = ImageIO.read(new File("/image.jpg"));
     
    BufferedImage a1 = new BufferedImage(i.getWidth()/2, i.getHeight()/2, BufferedImage.TYPE_INT_RGB);
    BufferedImage a2 = new BufferedImage(i.getWidth()/2, i.getHeight()/2, BufferedImage.TYPE_INT_RGB);
    BufferedImage b1 = new BufferedImage(i.getWidth()/2, i.getHeight()/2, BufferedImage.TYPE_INT_RGB);
    BufferedImage b2 = new BufferedImage(i.getWidth()/2, i.getHeight()/2, BufferedImage.TYPE_INT_RGB);
     
    a1.getGraphics().drawImage(i, 0, 0, a1.getWidth(), a1.getHeight(), 0, 0, i.getWidth()/2, i.getHeight()/2,null);
    // Idem avec a2, b1 et b2
     
    ImageIO.write(a1, "jpg", new File("/a1.jpg"));
    // Idem avec a2, b1 et b2
    et le problème est règlé



    PS: après, pour charger ça dans une icône, c'est pas forcément la peine de sauver dans des fichiers, tu peux simplement créer ton icône à partir des objets "BufferedImage" Icon icon = new ImageIcon(a1);
    "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

  3. #3
    Membre du Club Avatar de kayzra
    Inscrit en
    Novembre 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 110
    Points : 68
    Points
    68
    Par défaut
    merci, Pill_S pour ton aide.

    Ca marche, j'ai juste un peu de mal à réaliser l'algo pour automatiquement récupérer les 4 morceau, mais en creusant j'y arriverai peut être!

    Par contre, j'ai une autre question plus générale, je souhaiterai savoir si il est plus intéressant (vitesse d'exécution et gestion des ressources) d'afficher une image en créant un BufferedImage (image virtuel) ou à partir d'une image réelle?

Discussions similaires

  1. [Débutant]Comment insérer une image
    Par sfaxi dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 22/01/2007, 17h26
  2. Réponses: 4
    Dernier message: 08/05/2006, 20h12
  3. Réponses: 1
    Dernier message: 10/12/2005, 00h45
  4. Comment copier une image dans le presse papier.
    Par cprogil dans le forum Langage
    Réponses: 7
    Dernier message: 09/09/2003, 15h54
  5. comment réduire une image jpeg (taille x*y)
    Par don-diego dans le forum C
    Réponses: 4
    Dernier message: 14/07/2002, 20h06

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