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

2D Java Discussion :

Rotation d'une image, et problème d'affichage


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 13
    Par défaut Rotation d'une image, et problème d'affichage
    Bonjour,

    J'ai quelques petits soucis d'affichage avec mes images que je dessine avec la librairie Graphics. Je possède des images qui correspondent à des intersections reliés par des intersections. J'ai donc besoin que les intersections soient "rotatés" pour avoir des images obliques.

    Voici mon code :

    BufferedImage buf = ImageIO.read(new File("C:\\JDeveloper\\mywork\\Assembla\\SGBag\\IHM\\src\\ihm\\images\\SkinClassic\\Rail.png"));
    AffineTransform tx = new AffineTransform();
    tx.rotate(-Math.toRadians(90)+boule.getSegment().getTheta(), buf.getWidth() / 2, 10);
    AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_BILINEAR);
    buf = op.filter(buf, op.createCompatibleDestImage(buf, null) );
    g.drawImage(buf, (int) p_pixel.getX() - rayonPixel - 2, (int) p_pixel.getY() - rayonPixel, null) ;
    J'obtiens alors une image qui a bien été "rotaté", seulement l'affichage du rail n'est pas complet, dès que les pixels de l'image ont une ordonnée "au-dessus" de l'origine de l'image de base. J'ai l'impression que l'image a un cadre en dehors duquel il ne s'affichera pas.

    Quelqu'un saurait-il comment déplacer ce cadre? ou l'étendre?

    Merci !

  2. #2
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 818
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 818
    Par défaut
    Salut,

    Citation Envoyé par koyuki90 Voir le message
    J'ai l'impression que l'image a un cadre en dehors duquel il ne s'affichera pas.
    Disons qu'une image "rotatée" occupe plus de place que l'imge de base. Donc si ton image destination a les mêmes dimensions que l'image initiale, oui, ça déborde. A toi de fournir les dimensions correctes de l'image transformée.

    Citation Envoyé par koyuki90 Voir le message
    Quelqu'un saurait-il comment déplacer ce cadre? ou l'étendre?
    Tu crées une bufferedImage transformée plus grande, aux bonnes dimensions (faut taper dans les sinus/cosinus pour ça). Et tu dessines dedans.
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/04/2010, 18h17
  2. Problème pour faire la rotation d'une image(Avec ImageJ)
    Par tadjara dans le forum Traitement d'images
    Réponses: 4
    Dernier message: 12/04/2010, 11h48
  3. Problème pour faire la rotation d'une image(Avec ImageJ)
    Par tadjara dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 10/04/2010, 11h33
  4. Rotation d'une image TIFF
    Par Tub-95 dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 14/10/2005, 20h56
  5. Définir un angle de rotation pour une image
    Par mateo.14 dans le forum C++
    Réponses: 5
    Dernier message: 25/03/2005, 14h43

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