2009-08-07 24 views
1

我正在通過將圖像分層疊加到另一個上來構建位圖,並且當完成後我想要在邊緣寫入文本。頂部和底部很簡單,因爲它們是水平書寫的,但我更傾向於將文本垂直寫入左側和右側,因此它們不會佔用太多空間。旋轉字符串以在位圖上垂直寫入

Graphics.DrawString方法不允許您指定旋轉角度;還有什麼其他方法?

回答

0

也許您可以將位圖旋轉90度並將文本寫入位圖頂部 - 然後再次旋轉並寫入下一側的文本 - 這會讓您在邊緣周圍運行CW/CCW文本。

如果你想要水平橫跨頂部和底部並垂直於左側和右側,我建議測量(或assumning)你需要寫的最大字符的大小,然後用它來定位繪製的文本 - 一個字符在一次 - 首先在左邊然後右邊然後移動一個字符並且重複。你當然可以在整體左側,然後在右側。只需使用char的寬度從右側插入,並使用char的高度在字符之間垂直偏移。

例如

1   2  OR  1   4  GIVING C  D 
3   4   2   5    A  O 
5   6   3   6    T  G 

可能不是最優雅的解決方案,但可以幫助你。

0

爲此,您可以使用logical font。但這是一個痛苦 - 你最好使用Fredrik的答案(除非你在Compact Framework中這樣做,而RotateTransform不可用)。