Alinhar texto girado em C #
Eu preciso ser capaz de girar o texto em um rótulo e alinhá-lo à esquerda, direita ou centro. Até agora, sou capaz de fazer a rotação com esse código no método onPaint do rótulo derivado:
float width = graphics.MeasureString(Text, this.Font).Width;
float height = graphics.MeasureString(Text, this.Font).Height;
double angle = (_rotationAngle / 180) * Math.PI;
graphics.TranslateTransform(
(ClientRectangle.Width + (float)(height * Math.Sin(angle)) - (float)(width * Math.Cos(angle))) / 2,
(ClientRectangle.Height - (float)(height * Math.Cos(angle)) - (float)(width * Math.Sin(angle))) / 2);
graphics.RotateTransform(270f);
graphics.DrawString(Text, this.Font, textBrush, new PointF(0,0), stringFormat);
graphics.ResetTransform();
E isso funciona bem. Eu posso ver o texto girado 270 graus.
Mas quando tento definir o alinhamento no stringFormat, fica louco e não consigo descobrir o que está acontecendo.
Como posso girar o texto em 270 graus e alinhá-lo para cima?