Ecrire en diagonale

Kbitnik Messages postés 125 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 2 mars 2006 - 8 févr. 2006 à 10:43
Kbitnik Messages postés 125 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 2 mars 2006 - 10 févr. 2006 à 13:54
Bonjour à tous,
voila je suis en train de me créer un petit histogramme avec gdi+, et j'aimerai écrire donc les graduations en biais, en faite en abscisses j'ai des dates, j'aimerai qu'elle soit affiché en biais mais je ne sais pas comment faire. J'ai fait une petite recherche sur le site mais j'ai pas trouvé, j'ai juste réussi à afficher verticalement mais en bias non.

Merci d'avance !



Kbitnik

8 réponses

t_barbillon Messages postés 341 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 10 février 2009 2
8 févr. 2006 à 11:01
Salut, si tu ecris ton texte via un objet Graphics, tu peux essayer de le transformer avec la propriété Transform
du type Matrix. En fait tu lui donne une matrice de
transformation qui va appliquer la transformation
géométrique à ton objet Graphics.

Avec cette méthode, tu peux normalement écrire du texte dans n'importe quelle direction
0
Kbitnik Messages postés 125 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 2 mars 2006
8 févr. 2006 à 11:11
Ok mais en faite comment je dois faire je doit créer un autre objet Graphics ?
Parce que en faite j'ai que un objet Graphics pour mon graph et mes graduations...
Et puis je vois pas trop comment je pourrais faire



Kbitnik
0
t_barbillon Messages postés 341 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 10 février 2009 2
8 févr. 2006 à 11:36
Pourquoi créé une autre instance alors que tu en as une pour écrire tes graduations ?

Sinon, si ton histogramme dérive de l'objet Control, il y a la méthode CreateGraphics
0
Kbitnik Messages postés 125 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 2 mars 2006
8 févr. 2006 à 13:46
Ok, en faite donc la j'ai ça dans mon code :
Graphics g = this.createGraphics();
g.drawstring("date",new font("Arial",1),new SolidBrush(Color.Black),new Point(X,Y));
Donc là, ça m'affiche bien mon texte mais horizontalement. Et j'aimerai l'incliner légérement mais je ne vois pas comment utiliser matrix. Je dois faire comment, je dois créer un objet matrix et supprimer le drawstring ? je dois créer un objet Matrix et laisser le drawstring ?



Kbitnik
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
t_barbillon Messages postés 341 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 10 février 2009 2
8 févr. 2006 à 15:20
J'ai pas eu le temps de tester mais je pense que si tu fais :

Graphics g = this.createGraphics();

g.Transform = MyMatrix;

g.drawstring("date",new font("Arial",1),new SolidBrush(Color.Black),new Point(X,Y));



c'est bon. Après il faut juste remplir la matrice avec les bonnes valeurs pour avoir l'effet voulu.
0
Kbitnik Messages postés 125 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 2 mars 2006
9 févr. 2006 à 09:13
Ok, et bien je fais exactement ça, mais en faite ça m'applique une rotation, mais ça me déplace carrément le mot date . Et pas moyen de le remettre normalmen !



Kbitnik
0
t_barbillon Messages postés 341 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 10 février 2009 2
10 févr. 2006 à 08:50
Juste une question ta matrice a quelle forme ? Un truc du style avec A l'angle de rotation, pour une rotation par rapport à Oz.




( cos(A), sin(A), 0 )


( -sin(A), cos(A), 0)


( 0 , 0 , 1 )
0
Kbitnik Messages postés 125 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 2 mars 2006
10 févr. 2006 à 13:54
Je suis désolé mais je craint de ne pas pouvoir répondre à ta question, je suis pas très calé en graphique. Et jee vais t'avouer qu'avec l'utilisation des matrices je suis perdu. Surtout avec ce que tu m'as marqué juste au dessus. Je ne sais pas où je dois mettre ça...Moi tout ce que j'ai fait, je l'ai marqué dans l'extrait de code que j'ai posté précédemment, maintenant je n'y connais pas grand chose de plus. Tout ce que je peux te dire, c'est que je fais mon inclinaison dans un pour comme on le voit dans le code de l'article précédent, car je récupére des valeur d'un tableau et je ne sais donc pas le nombre de valeur que je vais avoir dans ce tableau. Donc mon inclinaison se fait normalment seulment toutes mes dates restent colés entre elles comme si elles ne formées qu'une seule même chaîne de caractères. J'ai essayé de les placer mais il n'y a vraiment pas moyen !

Kbitnik
0
Rejoignez-nous