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

新注册NameCheap账户几天后无法登录原因及解决办法

中午的时候有网友联系提到自己前几天看到Namecheap商家开学季促销活动期间有域名促销活动的,于是就信注册NC账户注册域名的。但是今天登录居然无法登录,这个问题比较困恼是不是商家跑路等问题。Namecheap商家跑路的可能性不大,前几天我还在他们家转移域名的。这里简单的记录我帮助他解决如何重新登录Namecheap商家的问题。1、检查邮件让他检查邮件是不是有官方的邮件提示。比如我们新注册账户是需...

UCloud:全球大促降价,云服务器全网最低价,1核1G快杰云服务器47元/年

ucloud:全球大促活动降价了!这次云服务器全网最低价,也算是让利用户了,UCloud商家调低了之前的促销活动价格,并且新增了1核1G内存配置快杰型云服务器,价格是47元/年(也可选2元首月),这是全网同配置最便宜的云服务器了!UCloud全球大促活动促销机型有快杰型云服务器和通用型云服务器,促销机房国内海外都有,覆盖全球20个城市,具体有北京、上海、广州、香港、 台北、日本东京、越南胡志明市、...

ftlcloud9元/月,美国云服务器,1G内存/1核/20g硬盘/10M带宽不限/10G防御

ftlcloud(超云)目前正在搞暑假促销,美国圣何塞数据中心的云服务器低至9元/月,系统盘与数据盘分离,支持Windows和Linux,免费防御CC攻击,自带10Gbps的DDoS防御。FTL-超云服务器的主要特色:稳定、安全、弹性、高性能的云端计算服务,快速部署,并且可根据业务需要扩展计算能力,按需付费,节约成本,提高资源的有效利用率。活动地址:https://www.ftlcloud.com...

measurestring为你推荐
weakhashmapJava中isEmpty方法如何使用?西安论坛有没有谁被西安论坛活动忽悠过的啊?md5值md5值什么用qq号查询怎样查找本地qq号码tvosTVOS推广怎么样?民生电商民生电商是民生银行吗?smartupload为什么使用smartupload执行上传保存操作时用这句smart.save("upload")失败用smart.save("/upload")成功弹幕播放器看过的剧有一个弹幕出来的是什么播放器弹幕网站谁能给我解释一下什么叫A站,什么叫B站?都是啥网站?mediasres什么意思
100m虚拟主机 到期域名查询 VPS之家 如何查询ip地址 踢楼 locvps 回程路由 圣诞节促销 qingyun ntfs格式分区 上海联通宽带测速 海外空间 太原联通测速 服务器维护 永久免费空间 主机返佣 登陆qq空间 免费个人网页 攻击服务器 umax 更多