如何控制拉绳的方向?
我想绘制一个字符串作为轴标签。当我用以下代码绘制字符串时,我可以“从左侧”读取它。文本的基线位于左侧。
StringFormat format = CustomGraphics.StringFormat(ContentAlignment.MiddleCenter);
format.FormatFlags |= StringFormatFlags.DirectionVertical;
e.Graphics.DrawString(this.yAxis.Title.Text, this.yAxis.Title.Font,
textBrush, e.Bounds, format);
format.FormatFlags &= ~StringFormatFlags.DirectionVertical;
我想垂直绘制,但将方向旋转 180 度。我怎样才能控制这个?我应该使用其他方法吗?
I want to draw a string as an axis label. When I draw the string with following code, I can read it "from the left". The base line of the text is at the left side.
StringFormat format = CustomGraphics.StringFormat(ContentAlignment.MiddleCenter);
format.FormatFlags |= StringFormatFlags.DirectionVertical;
e.Graphics.DrawString(this.yAxis.Title.Text, this.yAxis.Title.Font,
textBrush, e.Bounds, format);
format.FormatFlags &= ~StringFormatFlags.DirectionVertical;
I want to draw vertical but turn the orientation by 180 degrees. How can I control this? Is there another method that I should use?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 Graphics.RotateTransform() 使字符串按照您想要的方式旋转。您需要 TranslateTransform() 和 MeasureText() 才能获得正确的起点。
Use Graphics.RotateTransform() to get the string rotated the way you want it. You'll need TranslateTransform() and MeasureText() to get the start-point right.
如何在 C# 中旋转标签? 包含一个长文本强大的绘画方法,最初基于 http://www.codeproject.com/KB/ Miscctrl/customtext.aspx
How do I rotate a label in C#? contains a long and powerful paint method, based originally on http://www.codeproject.com/KB/miscctrl/customtext.aspx