measurestring使用GDI+如何快速得到字符串的尺寸

measurestring  时间:2021-07-05  阅读:()

如何在drawString绘出的文字上加入背景颜色

你在绘制字符串之前可以使用Graphics的MeasureString方法测量它的尺寸再绘制一个相应大小的矩形就行了,如下 Graphics g = this.CreateGraphics(); Font font = new Font("宋体", 9f); PointF pointF = new PointF(10, 10); SizeF sizeF = g.MeasureString("Hello World!", font); g.FillRectangle(Brushes.White, new RectangleF(pointF, sizeF)); g.DrawString("Hello World!", font, Brushes.Black, pointF); g.Dispose(); font.Dispose();

CCLabelTTF 怎样根据字体大小 获得字符串宽度

字符串的宽度自适应容器 Graphics g = Graphics.FromImage(new Bitmap(1, 1)); SizeF size = g.MeasureString(lblTitle.Text, new Font("宋体", 24 * 0.0625F, FontStyle.Bold)); float oldSize=(800*0.0625F);//1px=0.0625em float newSize = (0.75F/size.Width )* oldSize; size.Width 的单位是em

c# combobox下拉框长度不够,怎么焦点在下拉框项上时出现提示

当焦点到达下拉框顶上时,遍历下拉框每个item,转换为字符串后,根据下拉框控件当前的字体和大小,计算item显示到界面上的长度,与下拉框长度做不对比。

计算文本在界面上的显示长度例子: string measureString = "Measure String"; Font stringFont = new Font("Arial", 16);//可以是下拉框控件的Font属性 // Measure string. SizeF stringSize = new SizeF(); stringSize = e.Graphics.MeasureString(measureString, stringFont);

使用GDI+如何快速得到字符串的尺寸

用GDI+的MeasureString(),可以测量一个字符串的长度,但是它测量的结果,却在开头留有几个像素的空白,据说是为斜体字什么留的,据说是em的六分之一。

我不希望它留有这个空白,有大侠告诉我,用这个方法可以测量出不含这个空白的准确长度: graph.MeasureString(wstr, num, &Font, ptf, StringFormat::GenericTypographic(), &rcfLay); 我一试,果然很灵,确实测出了不含开头空白的准确长度。

但是奇怪的是,我用这样的代码却不行: StringFormat sf; sf.GenericTypographic(); graph.MeasureString(wstr, num, &Font, ptf, &sf, &rcfLay); 以上的代码是定义sf,再执行sf.GenericTypographic(),再在测量中使用,这和那位网友介绍的方法有什么区别吗?但是他的能去除空白,我的不能。

本来按这位网友的介绍方法也就行了。

但是还有一个问题,就是我测量的时候,要把最后的空格也包括在内。

要想达到这一点,必须定义这个: sf.SetFormatFlags(StringFormatFlagsMeasureTrailingSpaces); 定义了这个,测量出的长度就能所把字符串最后的空格也包括在内了,但是问题是:要想去掉开头的空白,必须在测量表达式中直接使用StringFormat::GenericTypographic(),而要想把最后空格也包括在测量范围以内,又必须先定义一个sf,再执行: sf.SetFormatFlags(StringFormatFlagsMeasureTrailingSpaces); 最后在测量中使用 &sf, 要想两者兼得,怎么办呢? 已解决,原来这样就行了: StringFormat *psf = (StringFormat *)StringFormat::GenericTypographic(); (*psf).SetFormatFlags(StringFormatFlagsMeasureTrailingSpaces); 原因是StringFormat::GenericTypographic()返回的是 const StringFormat * ,是指针类型。

轻云互联(19元)香港高防云服务器 ,美国云服务器

轻云互联成立于2018年的国人商家,广州轻云互联网络科技有限公司旗下品牌,主要从事VPS、虚拟主机等云计算产品业务,适合建站、新手上车的值得选择,香港三网直连(电信CN2GIA联通移动CN2直连);美国圣何塞(回程三网CN2GIA)线路,所有产品均采用KVM虚拟技术架构,高效售后保障,稳定多年,高性能可用,网络优质,为您的业务保驾护航。活动规则:用户购买任意全区域云服务器月付以上享受免费更换IP服...

DiyVM:2G内存/50G硬盘/元起线路香港vps带宽CN2线路,香港VPS五折月付50元起

DiyVM是一家低调国人VPS主机商,成立于2009年,提供的产品包括VPS主机和独立服务器租用等,数据中心包括香港沙田、美国洛杉矶、日本大阪等,VPS主机基于XEN架构,均为国内直连线路,主机支持异地备份与自定义镜像,可提供内网IP。最近,商家对香港机房VPS提供5折优惠码,最低2GB内存起优惠后仅需50元/月。下面就以香港机房为例,分享几款VPS主机配置信息。CPU:2cores内存:2GB硬...

Hostiger 16G大内存特价VPS:伊斯坦布尔机房,1核50G SSD硬盘200Mbps带宽不限流量$59/年

国外主机测评昨天接到Hostigger(现Hostiger)商家邮件推送,称其又推出了一款特价大内存VPS,机房位于土耳其的亚欧交界城市伊斯坦布尔,核50G SSD硬盘200Mbps带宽不限月流量只要$59/年。 最近一次分享的促销信息还是5月底,当时商家推出的是同机房同配置的大内存VPS,价格是$59.99/年,不过内存只有10G,虽然同样是大内存,但想必这次商家给出16G,价格却是$59/年,...

measurestring为你推荐
sdf关于sdf的问题:请问这个是什么啊,怎么弄好啊?mdm.mdm是什么扩展名?聚合函数T-SQL中的聚合函数有哪些?开票系统怎样开普通发票系统附清单showwindowVB6.0中ShowWindow函数的使用smartupload使用SmartUpload实现文件上传时需要对表单设置哪些属性ruby语言Ruby语言输入方法法清除电脑垃圾怎样清除电脑垃圾什么是SOA什么是cookies 有什么作用药品标准查询药品国家标准怎么查阅
网页空间租用 美国加州vps 花生壳免费域名申请 5折 主机 sockscap 好看的留言 tightvnc 腾讯云分析 最好的qq空间 免费phpmysql空间 免费私人服务器 免费邮件服务器 空间购买 架设邮件服务器 云营销系统 游戏服务器出租 qq金券 注册阿里云邮箱 带宽测试 更多