如何使用drawString方法来书写对角线
我正在使用 c# 2005 我想在图像上对角写入字符串。 但默认情况下,c# 提供了水平或垂直书写的选项。
我们如何写对角线?
谢谢
I am using c# 2005 i want to write string diagonally on image. But by default c# provides the option to write horizontally or vertically.
how we write diagonally?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
你有权利..可以用这种方式完成..但是文本总是从上到下书写,我不确定你可以从下到上更改它..干杯
u have right..It can be done in that way..BUT text will be written from top to bottom always and I'm not sure u can change it from bottom to top.. cheers
在调用drawString之前执行Graphics.rotateTransform 。 正如 Phil Wright 指出的那样,不要忘记事后撤销更改。
Do a Graphics.rotateTransform before the drawString call. Don't forget to reverse the change afterwards, as Phil Wright points out.
您可以使用此功能。
像这样
You can use this function.
Like this
还有另一种垂直绘制文本的方法,它是用 C# 构建的。 不需要显式的图形转换。 您可以使用 StringFormat 类。 下面是垂直绘制文本的示例代码:
StringFormat sf = new StringFormat();
sf.FormatFlags = StringFormatFlags.DirectionVertical;
e.Graphics.DrawString("我的字符串", this.Font, Brushes.Black, PointF.Empty, sf);
There is another way to draw a text vertically which is built in the C#. There is no need of explicit graphics transformation. You can use the StringFormat class. Here is a sample code which draws a text vertically:
StringFormat sf = new StringFormat();
sf.FormatFlags = StringFormatFlags.DirectionVertical;
e.Graphics.DrawString("My String", this.Font, Brushes.Black, PointF.Empty, sf);
您可以使用 Graphics 类中提供的 RotateTransform 和 TranslateTransform。 因为使用 DrawString 是 GDI+,所以变换会影响绘图。 所以使用这样的东西...
不过不要忘记撤销更改!
You can use the RotateTransform and TranslateTransform that are available on the Graphics class. Because using DrawString is GDI+ the transforms affects the drawing. So use something like this...
Don't forget to reverse the change though!