我想做的是使用 DrawString() 方法将字符串绘制到位图中。为此,我需要创建一个位图并从该位图中获取一个 Graphics 对象,然后对该 Graphics 对象调用 DrawString()。
问题是,当我创建初始位图时,我如何提前知道制作位图的像素宽和长是多少?
我知道这与 MeasureString() 有关,但为了使用 MeasureString(),我需要从位图中获取 Graphics 对象。在我创建位图之前我无法得到它,在我知道大小之前我无法做到这一点。这似乎是一个循环悖论!
谁能帮我解决这个问题?
最佳答案
您可以创建一个小的静态位图来测量
private static Bitmap measureBmp = new Bitmap(1, 1);
然后你照常测量
using (var measureGraphics = Graphics.FromImage(measureBmp))
{
var stringSize = measureGraphics.MeasureString("measureString", this.Font);
}
图片大小不影响测量
关于c# - 确定位图大小以保存文本字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4317950/