如果你想要獲取字符串 "你好嗎" 的字節數組長度或者字符數,
使用如下代碼:
string s = "你好嗎";
//字節數組長度
int byteCount = System.Text.Encoding.UTF8.GetBytes(s).Length;
//字符數
int charCount = s.Length;
?
如果你想獲取這句話在特定字體下顯示時所需要的像素寬度或高度,
使用如下代碼:
using System.Drawing;Graphics graphics = Graphics.FromHwnd(IntPtr.Zero);
Font font = new Font("Arial", 12);
SizeF textSize = graphics.MeasureString(s, font);
textSize.Width 就是你想要的結果,單位是像素。
注意:這個結果會依賴你的系統設置和所選字體的影響。
?
上述代碼中的:Graphics graphics_ct = Graphics.FromHwnd(IntPtr.Zero);
用于從給定的窗口句柄創建一個Graphics
對象。
具體來說,Graphics graphics_ct = Graphics.FromHwnd(IntPtr.Zero);
這行代碼的作用是創建一個新的Graphics
對象,該對象可以用于在窗口上進行繪圖操作。
IntPtr.Zero
是一個特殊的窗口句柄,通常表示一個無效的窗口句柄,因此這行代碼實際上不會在任何窗口上進行繪圖。
Graphics
類是C#中用于繪制圖形和文本的類,它提供了許多方法和屬性,可以用于繪制線條、形狀、文本和其他可視化元素。
通過使用Graphics
對象,可以在窗口、圖像、打印機或其他繪圖設備上進行繪圖操作。
在這行代碼中,Graphics.FromHwnd(IntPtr.Zero)
方法會返回一個新的Graphics
對象,但該對象的繪制操作不會對任何窗口產生影響,因為使用的是無效的窗口句柄。
通常這種用法是為了在代碼中創建一個Graphics
對象,但并不立即進行實際的繪圖操作,而是在后續的代碼中使用該對象進行繪圖。
?
?
?
?