c# 计算空格宽度像素_黄聪:C#如何通过MeasureString、Graphics获取字符串的像素长度…

c# 计算空格宽度像素_黄聪:C#如何通过MeasureString、Graphics获取字符串的像素长度…1、使用g.MeasureString()获得使用MeasureString测量出来的字符宽度,总是比实际宽度大一些,而且随着字符的长度增大,貌似实际宽度和测量宽度的差距也越来越大了。查了一下MSDN,找到了下面这个理由:MeasureString方法旨在与个别字符串一起使用,它在字符串前后包括少量额外的空格供突出的标志符号使用。stringstr;str=”大”;Fontf=…

1、    使用g.MeasureString()获得

使用MeasureString测量出来的字符宽度,总是比实际宽度大一些,而且随着字符的长度增大,貌似实际宽度和测量宽度的差距也越来越大了。查了一下MSDN,找到了下面这个理由:MeasureString 方法旨在与个别字符串一起使用,它在字符串前后包括少量额外的空格供突出的标志符号使用。

string str;

str = “大”;

Font f = new Font(“SimSun”, 7F, System.Drawing.FontStyle.Regular);

Graphics g = this.CreateGraphics();

//单位为mm

g.PageUnit = GraphicsUnit.Millimeter;

SizeF sim = g.MeasureString(str, f);

2、使用TextRenderer.MeasureText获得,提供使用指定尺寸创建文本初始边框时,使用指定的设备上下文、字体和格式说明所绘制的指定文本的尺寸(以像素为单位)。

private void MeasureText(PaintEventArgs e)

{

string str;

str = “大家好”;

Font f = new Font(“SimSun”, 7F, System.Drawing.FontStyle.Regular);

Size sif = TextRenderer.MeasureText(e.Graphics, str, f, new Size(, ), TextFormatFlags.NoPadding);

MessageBox.Show((sif.Width / pdi).ToString());

}

private void print(object sender, PaintEventArgs e)

{

MeasureText(e);

}

C#获取字符串宽度像素

通过Graphics对象的MeasureString方法可以获取字符串的大小,如下: Graphics graphics = CreateGraphics(); SizeF sizeF = graph …

js获取字符串的实际长度并截断实际长度

在项目中有这样一个需求,就是一个很长的字符串,需要截断成几组字符串,而这几组字符串里既包含汉字,又包含字母,下面提供了几种方法 1,获取字符串的长度 function getstrlength(str …

js获取字符串的字节长度

占用3个字节的范围 U+2E80 – U+2EF3 : 0xE2 0xBA 0x80 – 0xE2 0xBB 0xB3 共 115 个 U+2F00 – U+2FD5 : 0xE2 0xBC 0x80 …

js 获取字符串的 像素 宽度 —-字符串格式化输出

function getLenPx(str, font_size) { var str_leng = str.replace(/[^\x00-\xff]/gi, ‘aa’).length; retur …

c# 判断字符是否是全角, 获取字符串的字节数 , 获取字符串指定长度字节数的字符串

1 Encoding.Default.GetByteCount(checkString);  =2 全角 =1 半角 /// /// 获取字符串的字节长度 /// &l …

黄聪:Microsoft Enterprise Library 5.0 系列教程(六) Security Application Block

原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(六) Security Application Block 开发人员经常编写需要安全功能的应用程序.这些应用程序 …

黄聪:Microsoft Enterprise Library 5.0 系列教程(五) Data Access Application Block

原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(五) Data Access Application Block 企业库数据库访问模块通过抽象工厂模式,允许用户 …

随机推荐

【转】【WPF】WPF 登录窗口关闭时打开主窗口

在WPF中设计登录窗口关闭时打开主窗口,自动生成的App.xaml不能满足要求, 1.把App.xaml的属性窗口中的生成操作设定为 无 2.添加Program类 static class Progr …

u-boot启动流程分析(2)_板级(board)部分

转自:http://www.wowotech.net/u-boot/boot_flow_2.html 目录: 1. 前言 2. Generic Board 3. _main 4. global dat …

JavaScript学习笔记之下拉选择框的操作

对于下拉框的操作十分繁多,这几天项目须要就总结一下 一.动态构建option 有时候我们须要动态构建下拉选择框里面的值,这里我们就要用到 var varItem = new Option(” …

wpf 自定义RadioButton控件样式

实现的效果为: 我感觉来自定义RadioButton样式和定义button空间的样式差不多,只是类型不同而已. 接下来分析一下样式代码:         & …

IOS开发-表视图LV3导航控制器

学到这里感觉有点难了,其实这篇文章再草稿箱里放了好久了~ 最近对于学习的热情下降了.这不行-抓紧学习走起! 在这一章节的学习中主要针对导航控制器及表视图来建立多视图的应用, 首先要了解一些概念– 1 …

spring文件上传

Spring文件上传 1,导包: javax.servlets …

Flex报错之二

1.错误描述 SecurityError: Error #2148: SWF 文件 file:///D:/Adobe Flash Builder 4 Installer/demo1/bin-debug …

HDU 2586 How far way?

传送门 继续水板子题… #include using namespace std; inline int read() { , f = ; char c …

sublime实现背景透明化

预览 老司机们就不要吐槽背景图了 实现方法 首先下载插件,直接打包下载zip即可 地址:https://github.com/vhanla/SublimeTextTrans 下载完成后解压到packa …

Ubuntu下vim打开文件时,提示请按ENTER或其它命令继续

最近配置了一下vim,重启后,配置生效.但在用vim打开文件的时候,出现了一个问题:每次用vim打开文件的时候,都会提示请按ENTER或其它命令继续.这个真的很烦人.那么怎么把它消除掉呢? 首先要搞清 …

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/36238.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注