Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 旋转字符串以在位图上垂直写入_C#_Graphics - Fatal编程技术网

C# 旋转字符串以在位图上垂直写入

C# 旋转字符串以在位图上垂直写入,c#,graphics,C#,Graphics,我正在通过将图像层层叠加来构建位图,完成后,我希望在边缘周围写入文本。顶部和底部很简单,因为它们是水平书写的,但我更喜欢在左侧和右侧垂直书写文本,这样它们就不会占用太多空间 Graphics.DrawString方法不允许指定旋转角度;还有其他方法吗?这里有一个教程可能会有所帮助 我相信StringFormatFlags.DirectionVertical是您需要的这里有一个教程可能会有所帮助 我相信StringFormatFlags.DirectionVertical就是你要找的我想你可能

我正在通过将图像层层叠加来构建位图,完成后,我希望在边缘周围写入文本。顶部和底部很简单,因为它们是水平书写的,但我更喜欢在左侧和右侧垂直书写文本,这样它们就不会占用太多空间


Graphics.DrawString方法不允许指定旋转角度;还有其他方法吗?

这里有一个教程可能会有所帮助


我相信StringFormatFlags.DirectionVertical是您需要的

这里有一个教程可能会有所帮助


我相信StringFormatFlags.DirectionVertical就是你要找的

我想你可能会从我刚才写的那本书中得到一些指针。

我想你可能会从我刚才写的那本书中得到一些指针。

也许你可以将位图旋转90度,将文本写到位图的顶部,然后再次旋转并写入下一面的文本-这将为您提供沿边缘顺时针/逆时针运行的文本

如果你想让它在顶部和底部水平,在左侧和右侧垂直,我建议测量(或假设)你需要写的最大字符的大小,然后使用它来定位绘制的文本-一次一个字符-首先在左侧,然后在右侧,然后向下移动一个字符并重复。当然,你可以先从整体上看左边,然后再看右边。只需使用从右侧插入的字符宽度和字符之间垂直偏移的字符高度

e、 g


可能不是最优雅的解决方案,但可能会对您有所帮助。

也许您可以将位图旋转90度,然后将文本写入位图顶部-然后再次旋转并写入下一面的文本-这将使文本沿边缘顺时针/逆时针运行

如果你想让它在顶部和底部水平,在左侧和右侧垂直,我建议测量(或假设)你需要写的最大字符的大小,然后使用它来定位绘制的文本-一次一个字符-首先在左侧,然后在右侧,然后向下移动一个字符并重复。当然,你可以先从整体上看左边,然后再看右边。只需使用从右侧插入的字符宽度和字符之间垂直偏移的字符高度

e、 g

可能不是最优雅的解决方案,但可能会对您有所帮助。

您可以使用。但这是一种痛苦——你最好使用Fredrik的答案(除非你是在紧凑型框架中进行此操作,而该框架不提供RotateTransform)。

你可以使用。但是这是一种痛苦——你最好使用Fredrik的答案(除非你是在紧凑的框架中进行这项工作的,而RotateTransform是不可用的)

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