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

C# Discussion :

[GDI+] ecrire texte (drawstring et measureString)


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2002
    Messages
    291
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 291
    Par défaut [GDI+] ecrire texte (drawstring et measureString)
    Bonjour, voilà j'ai 2 soucis avec l'affichage et la taille du texte :

    Dejà quand je fait un DrawString("Test", font, 0, 0); le texte n'est pas en 0,0 mais plus bas... j'ai essayé avec un TextRenderer.DrawText et un NoClipping mais ca ne change rien... je n'arrive pas à enlever cette marge interieur à la c** et donc à placer précisement mon texte !!!!

    voilà ce que ca donne avec un texte en Arial d'une taille 42 en 0,0 :

    comme on le voit le M est plus bas !!!

    Et du coup même probleme pour la mesure, j'aimerai la taille exacte de mon texte, (hauteur et longueur)... j'ai essayé avec un MeasureCharacterRanges masi j'a pas dû tout comprendre.... car je n'arrive à avoir que la longueur exacte.. et pas la hauteur(j'obtiens une hauteur avec une grande marge...) !!!

    Quelqu'un aurait il une solution ?

    Merci

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    As tu essayé en passant un StringFormat en parametre du DrawString ?

    J'ai juste fait un essai rapide en mettant les propriétés :

    StringFormat f = new StringFormat();
    f.LineAlignment = StringAlignment.Center;
    f.Alignment = StringAlignment.Center;

    Et la, ma lettre est "positionné" en (0,0) le resultat est que 0,0 devient le centre
    de ma lettre.. donc, peut-etre en décalant (0,0), par une demi hauteur et une demi largeur, tu auras un truc

    C'est une idée

    The Monz, Toulouse

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2002
    Messages
    291
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 291
    Par défaut
    oui, merci c'est une idée cependant je ne connais pas la hauteur exacte, seulement la hauteur avec les marges (celle que retourne measurestring).... pour la longueur ca à l'air d'etre bon...


    ou alors existe t'il un moyen de connaitre la taille de cette marge, en fonction du texte et de la font ?

  4. #4
    Membre éclairé
    Inscrit en
    Novembre 2002
    Messages
    291
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 291
    Par défaut
    j'ai essayé de dessiner mon texte avec un GraphicsPath, là j'arrive à avoir la hauteur reelle, cependant le texte affiché est moche.. !!!

    L'antiAlias ne change rien...

    quelqu'un a t'il une idée ?

    merci

Discussions similaires

  1. Ecrire texte dans une JFrame
    Par jmc18100 dans le forum Débuter
    Réponses: 2
    Dernier message: 04/06/2015, 15h15
  2. [XL-2007] Ecrire texte de fond dans cellule vide
    Par JulieD33 dans le forum Excel
    Réponses: 4
    Dernier message: 11/02/2015, 13h56
  3. Texte DrawString en Shape
    Par dmfdmf dans le forum 2D
    Réponses: 2
    Dernier message: 07/03/2012, 20h35
  4. Ecrire texte lettre par lettre
    Par jc9123 dans le forum C#
    Réponses: 3
    Dernier message: 03/03/2011, 13h45
  5. [AC-2003] Gdi+ et texte incliné dans un état
    Par marsouin_89 dans le forum IHM
    Réponses: 6
    Dernier message: 12/11/2009, 21h45

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