我正在编写一个创建图片(.jpeg 文件)的 C# WPF 应用程序。
我想要做的是使用图形库在给定区域内的图片上绘制文本。由于我不知道文本将有多长,我想以这种方式调整字体大小,这样文本将显示出来,而不会在给定区域的太多空间留空,也不会因长文本而被剪切 - 它应该只是降低字体大小,直到文本适合里面。
目前我正在使用 aSystem.Drawing.RectangleF
来定义文本的空间,因为它允许我在使用Graphics.DrawString
.
不幸的是,我找不到准确调整文本大小的有用方法,因此我编写了一个方法来计算字符串的字符并根据我认为可能被截断的字符数来降低大小。这是一种非常丑陋的方法,需要对输出图像进行大量修补和重新检查,但实际上并不准确。
有没有更好的方法来测量和调整 C# 中文本的大小?
或者也许它甚至不需要测量,并且有类似 XAML 的东西ViewBox
用于绘制我还不知道的图形?