当前位置: 首页 > news >正文

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.lryc.cn/news/242439.html

相关文章:

  • 「 系统设计 」 为什么要做架构分层?
  • 4:kotlin 方法(Functions)
  • Pycharm run 输出界面控制一行能够输出的元素个数
  • C++初级项目webserver项目流程介绍(2)
  • SIPp mac和debian用法可能略有差别
  • echarts的横向柱状图文字省略,鼠标移入显示内容 vue3
  • laravel8安装多应用多模块(笔记三)
  • Vue组件的几种通信方式
  • golang panic关键词执行原理与代码分析
  • Error running Tomcat8: Address localhost:1099 is already in use 错误解决
  • android studio如何给安卓虚拟机发送短信
  • 立体仓库PLC控制系统子站诊断功能块
  • NFT Insider115:The Sandbox开设元宇宙Diorama快闪店,​YGG Web3 游戏峰会已开幕
  • 【Redis篇】简述Java中操作Redis的方法
  • 深度解读英伟达新一轮对华特供芯片H20、L20、L2的定位
  • 一起学docker系列之九docker运行mysql 碰到的各种坑及解决方法
  • 利用Nginx与php处理方式不同绕过Nginx_host实现SQL注入
  • 分割list 批量插入数据指定条数数据
  • Arduino库之 LedControl 库说明文档
  • Hadoop学习总结(MapReduce的数据去重)
  • ctfshow sql
  • Java实现求最大值
  • NX二次开发UF_CURVE_ask_curve_inflections 函数介绍
  • 一个基于RedisTemplate静态工具类
  • 【计算机网络笔记】数据链路层——差错编码
  • js生成pdf并自动上传
  • 高品质MP3音频解码语音芯片WT2003Hx的特征优势与应用场景
  • 浅析linux中的信号
  • 从0开始学习JavaScript--JavaScript数据类型与数据结构
  • 数据结构与算法编程题20