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 :

[Batik] Rotation de JSVGCanvas ?


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 82
    Par défaut [Batik] Rotation de JSVGCanvas ?
    Bonjour à tous,
    je cherche a implémenter la rotation de mon JSVGCanvas, de manière a ce que le coin supérieur gauche du canvas résultant soit toujours en 0,0.
    Si j'ai bien compris comment marche la rotation, cela implique de faire une translation par la suite, j'applique celle-ci mais ca ne fonctionne pas, qui peut me dire ou je fais fausse route ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	public void setSVGAffineTransformation(){
    		double CT= zoomControl.getTableauZoomCombo()[zoomControl.getZoomComboBoxValue()];
    		AffineTransform tx = svgCanvas.getRenderingTransform();
    		tx.setToScale(CT,CT);
    		if(zoomControl.getAngleRotation() != 0){
    			double sinA = Math.sin(zoomControl.getAngleRotation());
    			tx.rotate(zoomControl.getAngleRotation(), svgCanvas.getWidth()/2, svgCanvas.getHeight()/2);
    			tx.translate(sinA * svgCanvas.getRenderRect().getX(), -sinA * svgCanvas.getRenderRect().getY());
    				}
    		svgCanvas.setRenderingTransform(tx);
    	}
    J'utilise la meme tranformation pour une image au sein d'un Jpanel et ca fonctionne parfaitement, la le positionnement est faux, j'avoue que je ne comprends pas pourquoi ...

  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
    Utilises un JXTransformer

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 82
    Par défaut
    Merci pour la piste, je vais jeter un oeil

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 82
    Par défaut
    Citation Envoyé par sinok Voir le message
    Utilises un JXTransformer
    J'ai essayé d'intégrer le JXTransformer. J'enlève donc toutes les références a setRenderingTransform et j'initialise le JXTransformer en donnant en argument du constructeur le JSVGCanvas.

    J'applique sur mes méthodes de zoom et de rotation les methodes transformer.scale et transformer.rotate.
    Ca ne marche pas, mon SVG ne s'affiche plus à l'écran.

    Tu es sur que l'on peut utiliser cet élément avec un JSVGCanvas ?

Discussions similaires

  1. [Batik] - zoom avec JSVGCanvas (RenderingTransform)
    Par Wavyx dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 29/08/2007, 11h53
  2. Rotation de Bitmap -> ScanLine
    Par jujuesteban dans le forum Langage
    Réponses: 7
    Dernier message: 03/07/2003, 15h11
  3. Rotation d'un bouton ?
    Par ken_survivant dans le forum Composants
    Réponses: 3
    Dernier message: 01/04/2003, 18h16
  4. matrice et rotation
    Par charly dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 07/12/2002, 17h59
  5. algo : rotation d'objet 3d
    Par numeror dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 19/08/2002, 22h58

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