簡體   English   中英

Windows C#字體大小計算

[英]Windows C# Font Size calcs

我想知道是什么引起了以下問題:如果我創建一個新字體,以磅為單位指定大小,然后測量一個字符串-再次以磅為單位,我得到兩個不同的值嗎?

        Font font = new Font("Arial", 36, GraphicsUnit.Point);

        Graphics g =  CreateGraphics();

        g.PageUnit = GraphicsUnit.Point;

        string str = "hello";

        SizeF size = g.MeasureString(str, font);

size.height == 44而不是36,這是字體的指定PT大小!

這是怎么回事??!!!

MeasureString填充返回的rect以允許突出和突出字符。 這顯示了MeasureString返回的典型rect:

在此處輸入圖片說明

因此,返回的高度自然會大於以磅為單位的指定字體大小。

看一下這個鏈接 多余的空間可能是尺寸不同的原因

MeasureString方法設計用於單個字符串,並且在字符串前后包含少量多余空間,以允許懸空字形

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM