簡體   English   中英

如何在Winforms中以像素為單位測量String的確切寬度

[英]How to measure the exact width of String in pixels in Winforms

我需要在Winforms的標簽控件中測量字符串的確切像素大小。 我嘗試使用TextRenderer.MeasureText(Text,Font)和graphics.MeasureString(Text,Font),但未獲得確切的像素寬度。

選中確切的像素寬度后,它為90,但是TextRenderer和Graphics給出的值不同。 誰可以幫我這個事。

在此處輸入圖片說明

請注意在TextRendered.MeasureText文檔中寫的內容(重點是我的):

返回值
類型:System.Drawing.Size
用指定字體在一行上繪制的文本的大小(以像素為單位)。 您可以通過使用帶有TextFormatFlags參數的DrawText重載之一來操縱如何繪制文本。 例如, TextRenderer的默認行為是在所繪制文本的邊界矩形中添加填充,以適應懸垂的字形。 如果您需要繪制一行文本而沒有這些多余的空格,則應使用帶有Size和TextFormatFlags參數的DrawText和MeasureText版本。 有關示例,請參見MeasureText(IDeviceContext,String,Font,Size,TextFormatFlags)。

另外,請注意Graphics.MeasureString文檔(再次強調我的文檔):

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

暫無
暫無

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

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