我做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