2011-10-04 3 views
1

System.Drawing을 사용하여 C#으로 텍스트를 인쇄하려고하지만 StringFormat.DirectionVirtical 플래그를 설정하면 텍스트가 아래로 인쇄됩니다. 그래프에서 보는 것처럼 다른 방식으로 인쇄하고 싶습니다.C가 인쇄되는 세로 텍스트를 어떻게 인쇄합니까? (StringFormat.DirectionVirtical down)

이것은 단순한 형태 이상의 것입니다. 그리는 동안 변형 행렬을 사용하지 않고 이것을 수행 할 수있는 방법이 있는지 알고 싶습니다.

이 작업을 수행 할 수있는 방법이 있습니까?

답변

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