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

酷番云78元台湾精品CN2 2核 1G 60G SSD硬盘

酷番云怎么样?酷番云就不讲太多了,介绍过很多次,老牌商家完事,最近有不少小伙伴,一直问我台湾VPS,比较难找好的商家,台湾VPS本来就比较少,也介绍了不少商家,线路都不是很好,有些需求支持Windows是比较少的,这里我们就给大家测评下 酷番云的台湾VPS,支持多个版本Linux和Windows操作系统,提供了CN2线路,并且还是原生IP,更惊喜的是提供的是无限流量。有需求的可以试试。可以看到回程...

白丝云-美国圣何塞4837/德国4837大带宽/美西9929,26元/月起

官方网站:点击访问白丝云官网活动方案:一、KVM虚拟化套餐A1核心 512MB内存 10G SSD硬盘 800G流量 2560Mbps带宽159.99一年 26一月套餐B1核心 512MB内存 10G SSD硬盘 2000G流量 2560Mbps带宽299.99一年 52一月套餐...

创梦网络-四川大带宽、镇江电信服务器云服务器低至56元

达州创梦网络怎么样,达州创梦网络公司位于四川省达州市,属于四川本地企业,资质齐全,IDC/ISP均有,从创梦网络这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,一手四川托管服务商,成都优化线路,机柜租用、服务器云服务器租用,适合建站做游戏,不须要在套CDN,全国访问快,直连省骨干,大网封UDP,无视UDP攻击,机房集群高达1.2TB,单机可提供1...

measurestring为你推荐
mindmanager破解版xmind mac破解版哪个好用bindservice如何启动和停止用servicerownumbersql server 2005中row_number怎么用radius认证电信或网通的RADIUS认证都记录些什么?谁能说说ISP的宽带帐号检查流程数据分析报告范文如何做一个好的数据分析报告银联商务招聘银联商务的正式工与派遣工有啥区别桌面管理系统最好用的电脑桌面管理软件有哪些?桌面管理系统电脑的操作系统有几种?数学作业小学生的作业本有几种?index是什么意思MySQL里面有一个INDEX关键字,它是什么意思
网络服务器租用 日本私人vps wordpress技巧 外国空间 info域名 网站实时监控 免费ftp站点 java空间 台湾谷歌地址 有益网络 微软服务器操作系统 免费外链相册 smtp虚拟服务器 谷歌台湾 免费个人主页 深圳域名 江苏徐州移动 hdsky 美国十大啦 优惠服务器 更多