C# 獲取圖像、字體等對象大小的數據結構SizeF

如果你想要獲取字符串 "你好嗎" 的字節數組長度或者字符數,

使用如下代碼:

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對象,但并不立即進行實際的繪圖操作,而是在后續的代碼中使用該對象進行繪圖。

?

?

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/165982.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/165982.shtml
英文地址,請注明出處:http://en.pswp.cn/news/165982.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

大話設計模式C++實現

大話設計模式,講得非常好,但是作者是用C#寫的,為了方便C程序員,使用C寫了大話設計模式的代碼 詳情見Github:https://github.com/liubamboo/BigTalkDesignPattern

新蘋果手機如何導入舊手機數據?解決方案來了,記得收藏!

為了保持其競爭優勢,蘋果公司不斷推出新的產品和服務,因此蘋果手機的更新換代速度是比較快的。正巧最近剛出了iPhone15,相信很多小伙伴已經換上了期待已久的新手機。 更換新手機后,大家都會面臨一個問題:新蘋果手機如…

java 手機商城免費搭建+電商源碼+小程序+三級分銷+SAAS云平臺

【SAAS云平臺】打造全行業全渠道全場景的SaaS產品,為店鋪經營場景提供一體化解決方案;門店經營區域化、網店經營一體化,本地化、全方位、一站式服務,為多門店提供統一運營解決方案;提供豐富多樣的營銷玩法覆蓋所有經營…

Windows DOS 常用命令

文章目錄 1 概述1.1 官方文檔1.2 常用 2 分類2.1 目錄2.2 文件2.3 網絡2.4 系統 1 概述 1.1 官方文檔 Windows 命令官方文檔:https://learn.microsoft.com/zh-cn/windows-server/administration/windows-commands/windows-commands 1.2 常用 win r # 打開運…

如何預防數據泄露?六步策略幫您打造企業信息安全壁壘

大家好!我是恒小馳,今天我想和大家聊聊一個非常重要的話題——如何預防數據泄露。在這個數字化的時代,數據已經成為了我們生活中不可或缺的一部分。然而,隨著數據的價值日益凸顯,數據泄露的風險也隨之增加。企業應該如…

MacBook使用指南

一、安裝及卸載Windows系統 1、卸載Windows系統 步驟① 點擊下側任務欄中的“啟動臺”,進入程序塢,點擊"其他",選擇“啟動轉換助理” 步驟② 點擊“繼續”,接著點擊“恢復”,即可卸載Windows系統 2、安裝Windows系統 …

Shell編程里if的參數從-a到-z詳解

Shell編程里if的參數從-a到-z詳解

智能醫療越發周到!新的機器人系統評估中風后的活動能力

原創 | 文 BFT機器人 中風是在醫療界上最難的解決的病例之一,全球每年有超過1500萬人中風,四分之三的中風患者的手臂和手部會出現損傷、虛弱和癱瘓。 許多中風患者日常生活是依靠他們強壯的手臂來完成的,從拿一些小東西到梳頭,即…

phpstudy和IDEA 配置php debug

1.安裝xdebug 擴展,phpinfo() 查看 2.配置php.ini zend_extensionD:/phpstudy_pro/Extensions/php/php7.4.3nts/ext/php_xdebug.dll xdebug.collect_params1 xdebug.collect_return1 xdebug.auto_traceOn xdebug.trace_output_dirD:/phpstudy_pro/Extensions/php_l…

c語言新龜兔賽跑

以下是一個使用C語言編寫的新的龜兔賽跑游戲&#xff1a; #include <stdio.h>#include <stdlib.h>#include <time.h>int main() { int distance, turtle_speed, rabbit_speed, turtle_time, rabbit_time, rabbit_lead; srand(time(NULL)); // 隨機數種…

Whatweb簡單使用

目錄 簡介 安裝 debian/ubtuntu redhat/centos 特性 使用 常用參數如下&#xff1a; whatweb -v whatweb --version whatweb -i 1.txt whatweb -v www.baidu.com 掃描等級 whatweb -a 4 www.baidu.com 掃描網段 whatweb --no-errors -t 255 192.168.71.0/24 導出…

http與https有什么區別,https攻擊要如何防護

我們在瀏覽網站時&#xff0c;在網址的前面經常會看到http// 或者https//的顯示。同樣是http&#xff0c;加了s與不加s是有什么區別&#xff0c;加了s又有哪些用處。 http&#xff0c;中文叫做超文本傳輸協議。它是一種用于分布式、協作式和超媒體信息系統的應用層協議。是基于…

在vscode中添加代碼提示

添加配置 run->add_configuration 添加頭文件路徑 在c_cpp_properties.json中添加頭文件路徑 效果

時間敏感網絡TSN的車載設計實踐: 802.1Qbv協議

▎概述 IEEE 802.1Qbv[1]是TSN系列協議中備受關注的技術之一&#xff0c;如圖1所示&#xff0c;它定義了一種時間感知整形器&#xff08;Time Aware Shaper&#xff0c;TAS&#xff09;&#xff0c;支持Qbv協議的交換機可以按照配置好的門控列表來打開/關閉交換機出口隊列&…

Spring Validation實踐及其實現原理

Bean Validation 2.0 注解 校驗空值 Null&#xff1a;驗證對象是否為 null NotNull&#xff1a;驗證對象是否不為 null NotEmpty&#xff1a;驗證對象不為 null&#xff0c;且長度&#xff08;數組、集合、字符串等&#xff09;大于 0 NotBlank&#xff1a;驗證字符串不為 nul…

2023軟件應用類下載系統平臺源碼/手機軟件應用、新聞資訊下載站/軟件庫網站源碼

源碼簡介&#xff1a; 這個是最新軟件應用類平臺源碼、手機應用下載系統源碼、軟件應用市場下載站源碼、新聞資訊軟件下載。2023軟件應用類平臺源碼/手機軟件應用、新聞資訊下載站&#xff0c;它是軟件庫網站源碼。 最新軟件應用類平臺源碼 手機應用下載系統源碼 軟件應用市場…

NX二次開發UF_CURVE_add_faces_ocf_data 函數介紹

文章作者&#xff1a;里海 來源網站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CURVE_add_faces_ocf_data Defined in: uf_curve.h int UF_CURVE_add_faces_ocf_data(tag_t face_tag, UF_CURVE_ocf_data_p_t uf_offset_data ) overview 概述 Add a face col…

JVMj之console Java監視與管理控制臺

jconsole Java監視與管理控制臺 1、jconsole介紹 jconsole (java monitoring and management console)是一款基于JMX (Java Management Extensions) 的可視化監視和管理工具。 2、啟動jconsole 1、在linux和windwos下通過jconsole啟動即可。 2、然后會自動搜索本機運行的…

【開源】基于Vue和SpringBoot的獨居老人物資配送系統

項目編號&#xff1a; S 045 &#xff0c;文末獲取源碼。 \color{red}{項目編號&#xff1a;S045&#xff0c;文末獲取源碼。} 項目編號&#xff1a;S045&#xff0c;文末獲取源碼。 目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊三、系統展示四、核心代碼4.1 查詢社區4…