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

Windows Forms Discussion :

[C#] Affichage de texte vertical...


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 14
    Points : 13
    Points
    13
    Par défaut [C#] Affichage de texte vertical...
    Je suis sous Visual Studio.NET et je dois afficher à l'écran un texte vertical écris de bas en haut (il s'agit de la légende d'un graphique) c'est à dire le pieds des lettres sur la droite.
    Il y a:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StringFormatFlags.DirectionVertical
    qui permet d'écrire verticalement, mais de haut en bas...
    Donc si vous avez des idées, elles sont les bien venues, merci.


    [Tag [C#] ajouté par freegreg]
    [Pensez-y, vous-même, la prochaine fois. Merci ]

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2004
    Messages : 52
    Points : 51
    Points
    51
    Par défaut
    Et si tu ecris ton texte a l'envers, ca ne resout pas ton problème?

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 14
    Points : 13
    Points
    13
    Par défaut Re: Affichage de texte vertical...
    Je précise effectivement: C#

    Citation Envoyé par AntiSAL
    Je suis sous Visual Studio.NET et je dois afficher à l'écran un texte vertical écris de bas en haut (il s'agit de la légende d'un graphique) c'est à dire le pieds des lettres sur la droite.
    Il y a:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StringFormatFlags.DirectionVertical
    qui permet d'écrire verticalement, mais de haut en bas...
    Donc si vous avez des idées, elles sont les bien venues, merci.

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 14
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par seemax
    Et si tu ecris ton texte a l'envers, ca ne resout pas ton problème?
    Et bien non puisque si je veux écrire "Temps" en vertical si j'échange les lettres ca donne "spmeT" et quand tu le lira le 'p' sera à l'envers...
    Donc il faudrai changer le pieds des lettres, pas le mettre à gauche comme il l'est d'origine mais à droite.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2004
    Messages : 52
    Points : 51
    Points
    51
    Par défaut
    Ok désolé autant pour moi, je savais pas que ca faisait ca , ben pas d'autres idées pour le moment

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 83
    Points : 107
    Points
    107
    Par défaut
    Salut,

    Pour écrire ton texte de façon verticale, tu peux utiser la méthode Transform() sur un GraphicsPath


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    			// Création du graphicspath
    			GraphicsPath gp = new GraphicsPath();
    			// Ajout de la chaine de caractere à ton graphic
    			gp.AddString("Ceci est un test",new FontFamily("Microsoft Sans Serif"),(int)FontStyle.Regular,26f,new Point(500,500),StringFormat.GenericDefault  );
    			// Création de ta matrice de transformation
    			Matrix m = new Matrix();
    			// Applique une rotation de 270° à partir du Point(500,500)
    			m.RotateAt(270,new Point(500,500),MatrixOrder.Append);
    			// Applique la matrice de transformation à ton graphic
    			gp.Transform(m);
    			// Dessin du graphic sur Panel1
    			this.Panel1.CreateGraphics().FillPath(new SolidBrush(Color.Black),gp);
    			// Libération des ressources
    			gp.Dispose();
    Il faut aussi faire réféerence à System.Drawing.2D
    using System.Drawing;
    using System.Drawing.Drawing2D;

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 14
    Points : 13
    Points
    13
    Par défaut
    Nickel !!!

    Ca marche du tonerre , il me reste plus qu'à tester pour trouver les coordonnées exactes pour que ma légende ne cheuvauche pas mon axe et mon graphique ^^.

    Merci nostradamus.
    bye.

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

Discussions similaires

  1. Pb de formatage de texte... Vertical, inversé...
    Par Grammaton dans le forum Access
    Réponses: 4
    Dernier message: 01/03/2007, 13h54
  2. Affichage de texte
    Par Yellowmat dans le forum OpenGL
    Réponses: 2
    Dernier message: 15/12/2004, 12h25
  3. Affichage de texte est mise à jour de l'écran
    Par Galdor_sp dans le forum OpenGL
    Réponses: 3
    Dernier message: 14/03/2004, 22h31
  4. Canvas et Texte vertical
    Par ulysse66x dans le forum Composants VCL
    Réponses: 8
    Dernier message: 01/02/2004, 16h46
  5. [MX 2004] Affichage du texte dynamique
    Par caramel dans le forum Flash
    Réponses: 8
    Dernier message: 29/01/2004, 16h07

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