我想使用System.Drawing在C#中打印文本,但设置StringFormat.DirectionVirtical标志只是向下打印文本。我希望它以另一种方式打印,就像你在图表中看到的那样。
这不仅仅是形式,所以我想看看是否有办法在绘图时不使用变换矩阵。
有没有办法实现这个目标?
答案 0 :(得分:2)
使用Graphics.RotateTransform以您想要的方式旋转文本。例如:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
protected override void OnPaint(PaintEventArgs e) {
string text = "Vertical text";
SizeF textSize = e.Graphics.MeasureString(text, this.Font);
e.Graphics.RotateTransform(-90);
e.Graphics.DrawString(text, this.Font, Brushes.Black,
new PointF(-textSize.Width, 0));
}
}