我要做的是使用DrawString()方法将字符串绘制到位图。为此,我需要创建一个位图并从位图中获取一个Graphics对象,然后在该Graphics对象上调用DrawString()。
问题是,我怎么知道,在我创建初始位图时,我的位图有多少像素宽和长?
我知道这与MeasureString()有关,但为了使用MeasureString(),我需要从位图中获取Graphics对象。在我创建位图之前我无法做到这一点,直到我知道尺寸才能做到这一点。这似乎是一个循环的悖论!
有人请帮帮我吗?
答案 0 :(得分:7)
您可以创建一个小的静态位图来测量
private static Bitmap measureBmp = new Bitmap(1, 1);
然后你照常测量
using (var measureGraphics = Graphics.FromImage(measureBmp))
{
var stringSize = measureGraphics.MeasureString("measureString", this.Font);
}
图像尺寸不影响测量
答案 1 :(得分:0)
我必须在Java中执行此操作,在其中我创建了一个未附加的图形元素以访问我需要的结构。您可以通过创建1x1位图来获取对象的访问权限。然后,让它被收集。
希望图形元素的尺寸不会影响MeasureString的结果。