2012-03-02 42 views
2

当我在位图中绘制时,如何计算字符串的宽度和高度?如何在位图中找到绘制字符串的宽度

String s="how are you?"; 
Sraphic boxgraphic; 
Bitmap box; 
boxgrpahic=Graphic.fromimage(box); 
boxgraphic.DrawString(s, new Font("Arial", 10pt), new SolidBrush(Color.black), new Point(0,0)); 

我从PT的转换表像素,但是,没有一个公式......

的另一问题

,回答了这个问题,但是这do't currectly工作。 。

积分=像素×96分之72

如何可以找到像素(式)提请串的宽度?

+0

此代码看起来不正确 - “位图”和“图形”不是内置类型。你的意思是“位图”和“图形”? C#是区分大小写的,你知道... – Oded 2012-03-02 12:40:34

+1

TrueType暗示击败表。使用Graphics.MeasureString()。 – 2012-03-02 12:42:58

+0

是的...我不注意那个.... – 2012-03-02 12:43:41

回答

1

使用graphic.MeasureString(s, new Font("Arial", 10pt))
您也可以添加一个StringFormat.GenericTypographic参数以更加准确。

2

使用MeasureString重载之一为了在绘制之前获取字符串尺寸。

boxgrpahic=graphic.fromimage(box); 
var size = boxgraphic.MeasureString(s, new Font("Arial", 10pt)); 

var widthPixels = size.Width; 

boxgraphic.DrawString(s, new Font("Arial", 10pt), new SolidBrush(Color.black), new point(0,0)); 
相关问题