如何使用System.Drawing将旋转的字符串绘制为图像?
我正在为图像绘制字符串。图像的大小是动态的,或者换句话说,图像与显示字符串所需的一样大。为了实现这一点,我在使用Graphics.DrawString()渲染文本之前使用Graphics.MeasureString()测量大小。
这一切都很好,直到轮换发挥作用。到目前为止,我正在将字符串绘制到位图并旋转我得到的整个位图。
问题是我的调色板非常有限,没有混合颜色。所以我必须避免任何类型的抗锯齿,这只能通过旋转文本位图使用InterpolationMode.NearestNeighbor。虽然这确保没有渲染出不需要的颜色,但结果确实非常难看(从用户的角度来看)。
我的想法:应该可以通过使用Graphics.RotateTransform()旋转它来将文本绘制到位图并避免剪裁,不是吗?
因为我必须首先定义要绘制的图像的大小,并且因为这个大小通过旋转而增加,所以我不知道如何完成这项工作。
任何帮助非常感谢!
没有找到相关结果
已邀请:
2 个回复
妒垮
这是一种使用GraphicsPath测量旋转文本边界的方法。逻辑很简单,GraphicsPath将文本转换为点列表,然后计算边界矩形。
测试代码:
部窖空