如何在打印的C#中打印垂直文本? (StringFormat.DirectionVirtical打印下来)

时间:2011-10-04 23:01:34

标签: c# text system.drawing

我想使用System.Drawing在C#中打印文本,但设置StringFormat.DirectionVirtical标志只是向下打印文本。我希望它以另一种方式打印,就像你在图表中看到的那样。

这不仅仅是形式,所以我想看看是否有办法在绘图时不使用变换矩阵。

有没有办法实现这个目标?

1 个答案:

答案 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));
    }
}