J'utilise la classe .NETCF (Windows Mobile) Graphics
et la méthode DrawString()
pour afficher un seul caractère à l'écran.Sortie du texte central de Graphics.DrawString()
Le problème est que je n'arrive pas à le centrer correctement. Peu importe ce que je définis pour la coordonnée Y de l'emplacement de la chaîne de rendu, elle sort toujours plus bas que cela et plus la taille du texte est grande, plus le décalage Y est important.
Pour est environ 4 exemple, à la taille du texte 12, le décalage, mais à 32 le décalage est d'environ 10.
Je veux que le personnage de prendre verticalement vers le haut la plupart du rectangle, il est en cours d'élaboration et centrée horizontalement. Voici mon code de base. this
référence le contrôle de l'utilisateur, il est en cours d'élaboration dans.
Graphics g = this.CreateGraphics();
float padx = ((float)this.Size.Width) * (0.05F);
float pady = ((float)this.Size.Height) * (0.05F);
float width = ((float)this.Size.Width) - 2 * padx;
float height = ((float)this.Size.Height) - 2 * pady;
float emSize = height;
g.DrawString(letter, new Font(FontFamily.GenericSansSerif, emSize, FontStyle.Regular),
new SolidBrush(Color.Black), padx, pady);
Oui, je sais qu'il est le contrôle de l'étiquette que je pouvais utiliser la place et régler le centrage avec cela, mais je ne réellement besoin de le faire manuellement avec le Graphics
classe.
merci de montrer l'autre façon de dessiner des choses cela m'aide vraiment avec un problème d'alignement de centre s'avère TextRenderer.DrawText est plus précis qu'un simple e.graphics.drawstring merci beaucoup, éloignez-vous de moi :) –