Como método drawString pode ser usado para escrever maneira diagonal
-
01-07-2019 - |
Pergunta
Eu estou usando c # 2005 eu quero corda escrita na diagonal na imagem. Mas por padrão c # oferece a opção de escrever horizontal ou na vertical.
Como nós escrevemos na diagonal?
Graças
Solução
Do uma Graphics.rotateTransform antes a chamada drawString. Não se esqueça de inverter a alteração depois, como Phil Wright ressalta.
Outras dicas
Você pode usar o RotateTransform e TranslateTransform que estão disponíveis na classe Graphics. Porque usando DrawString é GDI + as transformações afeta o desenho. Portanto, use algo como isto ...
g.RotateTransform(45f);
g.DrawString("My String"...);
g.RotateTransform(-45f);
Não se esqueça de inverter a alteração embora!
Você pode usar esta função.
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);
}
Como este
u ter right..It pode ser feito nesse texto way..BUT será escrito de cima para baixo sempre e eu não tenho certeza u pode mudá-lo de baixo para cima .. aplausos
Há uma outra maneira de desenhar um texto verticalmente que é construído no C #. Não há necessidade de transformação de gráficos explícito. Você pode usar a classe StringFormat. Aqui está um código de exemplo que desenha um texto verticalmente:
StringFormat sf = new StringFormat (); sf.FormatFlags = StringFormatFlags.DirectionVertical; e.Graphics.DrawString ( "My String", this.Font, Brushes.Black, PointF.Empty, sf);