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

AWT/Swing Java Discussion :

Résultat d'une rotation rogné


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 203
    Par défaut Résultat d'une rotation rogné
    Bonjour,

    Mon problème :
    J'effectue une rotation sur une image. Celle si se retourne bien mais seulement voila elle garde les dimension de départ. Exemple si j'ai une image de 300 de largeur et de 200 de hauteur, et que j'effectue une rotation de 90°, celle-ci s'effectue bien mais l'image finale garde les dimensions de l'image originale ... au lieu d'avoir 200 de largeur sur 300 de hauteur ...
    Le coté droit de l'image se retrouve donc rogné ...
    Une solution ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    this.url = url;
    		this.image = new ImageIcon(url).getImage();
    		BufferedImage bufferedImage = new BufferedImage(
                    image.getWidth(null),
                    image.getHeight(null),
                    BufferedImage.TYPE_INT_RGB );
    		Graphics2D g2d = bufferedImage.createGraphics();
    		AffineTransform at = new AffineTransform();
    		at.rotate(Math.toRadians(90),image.getWidth(null)/2,image.getHeight(null)/2);
    		g2d.drawImage(image,at,null);
    		g2d.dispose();
    		this.image_rot = Toolkit.getDefaultToolkit().createImage(bufferedImage.getSource());
    Merci d'avance !

  2. #2
    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
    Oui : revoir tes cours de trigonometrie de college/lycee ou chercher sur le net pour savoir comment calculer les dimensions de l'image destination en fonction de l'angle de la rotation, plutot que de faire simplement ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BufferedImage bufferedImage = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_RGB );
    Note : attention le rendu de ton image apres rotation peut varier grandement en fonction de certains indices de rendu (l'interpolation nottament) je te conseille donc de tester plusieurs valeurs pour voir quel effet cela donne. Egalement ton code ne gere pas la transparence et l'image creee sera opaque y compris dans les zones sur lesquelles il n'est sense rien y avoir.
    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

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 203
    Par défaut
    Oui : revoir tes cours de trigonometrie de college/lycee ???

    C'est franchement chiant de recevoir des réponses comme celle-la ...

    Si les gens vous posent des questions sur Swing c'est qu'ils ne sont pas des dieux en la matière et tout ne leur parait pas forcément évident ... c'est pas pour autant qu'ils ne sont pas des dieux dans d'autres langages ... donc il faut arrêter de prendre les gens pour des cons ...

    J'aurai préféré ne pas avoir de réponse

  4. #4
    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
    Cette question n'a rien a voir avec Swing ou Java2D (et je t'ai donne des indications qui peuvent t'aider pour ce dernier pour obtenir un meilleur resultat) mais le probleme vient bien d'un manque de connaissances basiques en mathematiques (trigonometrie du cercle, sinus et cosinus d'un angle, rotation et projection d'un segment et nombres complexes*), manque que je ne peut pas combler pour toi ; je te conseille egalement de relire les regles d'usage de ce forum.

    *qui ne sont que des applications plus ou moins avancees du meme principe. Il suffit d'utiliser le sinus et le cosinus.
    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

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

Discussions similaires

  1. Récupérer résultat d'une rotation
    Par Burckel dans le forum OpenGL
    Réponses: 5
    Dernier message: 14/12/2006, 17h08
  2. Ecrire le résultat d'une commande dans un fichier de l' OS
    Par Labienus dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 26/02/2004, 11h04
  3. Résultat d'une requète SQL
    Par camino dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/02/2004, 15h22
  4. [JSP] Recopier le résultat d'une JSP dans un fichier
    Par xxaragornxx dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 29/09/2003, 15h10
  5. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 15h26

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