我做WPF中使用的DrawingContext一些自定义绘制。我使用DrawingContext.DrawText
来绘制字符串。现在,在我想要垂直绘制文本的地方。 DrawingContext或DrawText()函数中是否有任何选项可以垂直绘制文本?绘制垂直文本()
Q
绘制垂直文本()
6
A
回答
10
您将不得不使用DrawingContext
类的PushTransform
和Pop
方法。
DrawingContext dc; // Initialize this correct value
RotateTransform RT = new RotateTransform();
RT.Angle = 90
dc.PushTransform(RT)
dc.DrawText(...);
dc.Pop();
3
DrawingContext dc;
Point textLocation
var RT = new RotationTransform(-90.0);
// You should transform the location likewise...
location = new Point(-location.Y, location.X);
dc.PushTransform(RT);
dc.DrawText(formattedText, location);
对不起,我不得不张贴这一点,因为我打我的头靠在墙上十五分钟试图弄清楚这一点。我不希望任何人通过它。
-1
这里是我的解决方案:这是需要建立在文本周围原点旋转变换,所以我们传递x和y以RotateTransform构造
...
// ft - formatted text, (x, y) - point, where to draw
dc.PushTransform(new RotateTransform(-90, x, y));
dc.DrawText(ft, new Point(x, y));
dc.Pop();
...
+2
请考虑添加一些文字来解释您的答案。 – 2017-02-20 11:49:52
相关问题
- 1. 在画布上垂直绘制文本
- 2. Qt绘制垂直布局
- 3. 绘制垂直金字塔
- 4. 绘制垂直虚线
- 5. graphviz垂直绘制图
- 6. 用DO绘制垂直线
- 7. 在iOS上绘制垂直文字
- 8. gnuplot的绘制垂直从文件
- 9. 绘制垂直直方图C#
- 10. 我们可以在j2me的画布上垂直绘制文本
- 11. 如何在D3中绘制垂直文本作为标签
- 12. 在WinForms中绘制垂直堆叠的文本
- 13. 如何使用CSS跨浏览器绘制垂直文本?
- 14. Qt:用QPainter在垂直方向上绘制文本?
- 15. 如何使用Compact Framework垂直绘制文本
- 16. 通过控制绘制垂直线
- 17. 垂直对齐SlickGrid头垂直文本
- 18. 垂直文本旁边的垂直线
- 19. 在垂直线上垂直写文本
- 20. 垂直中心垂直文本
- 21. 垂直文本android
- 22. 如何在iPhone上垂直绘制NSString?
- 23. PyQt绘制一个垂直标签
- 24. 在UITableViewCell上绘制垂直分隔符
- 25. 在特定时间绘制垂直线
- 26. 如何在HighCharts上绘制垂直线?
- 27. 如何在Swing中绘制垂直线
- 28. 绘制步骤(分段)与垂直线
- 29. 使用XML可绘制的垂直线
- 30. 在图表中绘制垂直线
Altough这个答案已很旧,我想补充一点,转化该位置应该由另一个转换对象完成,而不是“手动”交换Point()ctor的值,该值仅与角度90一起工作。当使用文本位置创建TranslateTransform对象并在旋转之前将其推入时,代码将以任何角度工作。 – user2261015 2015-10-14 08:26:28