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 * ,是指针类型。

腾讯云爆款秒杀:1C2G5M服务器38元/年,CDN流量包6元起

农历春节将至,腾讯云开启了热门爆款云产品首单特惠秒杀活动,上海/北京/广州1核2G云服务器首年仅38元起,上架了新的首单优惠活动,每天三场秒杀,长期有效,其中轻量应用服务器2G内存5M带宽仅需年费38元起,其他产品比如CDN流量包、短信包、MySQL、直播流量包、标准存储等等产品也参与活动,腾讯云官网已注册且完成实名认证的国内站用户均可参与。活动页面:https://cloud.tencent.c...

星梦云-100G高防4H4G21M月付仅99元,成都/雅安/德阳

商家介绍:星梦云怎么样,星梦云好不好,资质齐全,IDC/ISP均有,从星梦云这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,星梦云专注四川高防服务器,成都服务器,雅安服务器,。活动优惠促销:1、成都电信夏日激情大宽带活动机(封锁UDP,不可解封):机房CPU内存硬盘带宽IP防护流量原价活动价开通方式成都电信优化线路2vCPU2G40G+60G21...

onevps:新增(支付宝+中文网站),香港/新加坡/日本等9机房,1Gbps带宽,不限流量,仅需$4/月

onevps最新消息,为了更好服务中国区用户:1、网站支付方式新增了支付宝,即将增加微信;原信用卡、PayPal方式不变;(2)可以切换简体中文版网站,在网站顶部右上角找到那个米字旗,下拉可以换中国简体版本。VPS可选机房有:中国(香港)、新加坡、日本(东京)、美国(纽约、洛杉矶)、英国(伦敦)、荷兰(阿姆斯特丹)、瑞士(苏黎世)、德国(法兰克福)、澳大利亚(悉尼)。不管你的客户在亚太区域、美洲区...

measurestring为你推荐
rdlregardless是什么意思jqlJQL JINQILIN注册过商标吗?还有哪些分类可以注册?保留两位有效数字什么叫保留两位有效数字ruby语言ruby什么意思?什么含义?图片存储怎么设置图片的保存类型watch的过去式watch的过去式能不能加三单形式?alphablend请教函数TransparentBlt的用法alphablenddelphi中都有哪些控件有AlphaBlend属性,也就是可透明sungard恒生电子和上海sungard的offer,去哪个好???谢谢,,急急急!!!酷源码我在网上下载好了企业源码 需要怎么修改才可以直接上传到我的空间(我以有上传工具了)就是不会上修改和上
域名注册中心 西安服务器租用 中文国际域名 vps租用 zpanel 大容量存储器 hkg cdn加速是什么 google台湾 视频服务器是什么 架设邮件服务器 路由跟踪 smtp服务器地址 石家庄服务器托管 德隆中文网 php服务器 中国域名 华为k3 域名和主机 阿里云邮箱怎么注册 更多