drawString方法如何用于编写对角线方式

时间:2020-03-06 14:20:45  来源:igfitidea点击:

我正在使用c2005,我想在图像上对角线写入字符串。但是默认情况下,提供了水平或者垂直书写的选项。

我们如何对角书写?

谢谢

解决方案

在drawString调用之前执行Graphics.rotateTransform。正如Phil Wright所指出的,不要忘记事后撤销更改。

我们可以使用Graphics类上可用的RotateTransform和TranslateTransform。因为使用DrawString是GDI +,所以变换会影响图形。所以用这样的东西...

g.RotateTransform(45f);
g.DrawString("My String"...);
g.RotateTransform(-45f);

但是不要忘记撤销更改!

还有另一种垂直绘制文本的方法,该方法内置于C#中。不需要显式的图形转换。我们可以使用StringFormat类。这是一个垂直绘制文本的示例代码:

StringFormat sf = new StringFormat();
sf.FormatFlags = StringFormatFlags.DirectionVertical;
e.Graphics.DrawString(" My String",this.Font,Brushes.Black,PointF.Empty,sf);

你有权利..可以这样做..但是文本总是会从上到下书写,我不确定你可以从下到上进行更改。