2009-08-07 76 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不可用)。