ラベル内のテキストを回転し、それを左、右、または中央に揃える必要があります。これまで、派生ラベルのonPaintメソッドでこのコードをローテーションすることができました。Cで回転したテキストの整列
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();
これはうまくいきます。私は270度回転したテキストを見ることができます。
しかし、私はstringFormatで整列を設定しようとすると狂気になり、何が起こっているのかわかりません。
テキストを270度回転して上に揃えるにはどうすればよいですか?
あなたはどのようなアライメントを設定していますか? – Aliostad
最初は近寄りましたが、遠くに遠くに変えたいのですが、 –
グラフィックスを変換すると、全体の「世界」が変換されて、近くは実際には同じではありません。あなたはあなたが望む位置にそれを設定できませんか? – Aliostad