visual valor texto resultado para mostrar metodo imprimir dibujar datos como asignar c# image visual-studio-2005 gdi drawstring

c# - valor - ¿Cómo se puede usar el método drawString para escribir en diagonal?



mostrar texto en label c# (5)

Estoy usando c # 2005 quiero escribir una cadena en diagonal en la imagen. Pero de forma predeterminada, c # brinda la opción de escribir horizontal o verticalmente.

¿Cómo escribimos diagonalmente?

Gracias


Haz un Graphics.rotateTransform antes de llamar a drawString. No olvide invertir el cambio después, como señala Phil Wright.


Puede usar el RotateTransform y el TranslateTransform que están disponibles en la clase Graphics. Como usar DrawString es GDI +, las transformaciones afectan el dibujo. Entonces usa algo como esto ...

g.RotateTransform(45f); g.DrawString("My String"...); g.RotateTransform(-45f);

¡No olvide revertir el cambio!


Hay otra forma de dibujar un texto verticalmente construido en C #. No hay necesidad de transformación explícita de gráficos. Puede usar la clase StringFormat. Aquí hay un código de muestra que dibuja un texto verticalmente:

StringFormat sf = new StringFormat (); sf.FormatFlags = StringFormatFlags.DirectionVertical; e.Graphics.DrawString ("Mi cadena", this.Font, Brushes.Black, PointF.Empty, sf);


tienes derecho ... Se puede hacer de esa manera ... PERO el texto estará escrito de arriba a abajo siempre y no estoy seguro de poder cambiarlo de abajo hacia arriba .. aplausos


Puedes usar esta función.

void DrawDigonalString(Graphics G, string S, Font F, Brush B, PointF P, int Angle) { SizeF MySize = G.MeasureString(S, F); G.TranslateTransform(P.X + MySize.Width / 2, P.Y + MySize.Height / 2); G.RotateTransform(Angle); G.DrawString(S, F, B, new PointF(-MySize.Width / 2, -MySize.Height / 2)); G.RotateTransform(-Angle); G.TranslateTransform(-P.X - MySize.Width / 2, -P.Y- MySize.Height / 2); }

Me gusta esto