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

vpsdime7美元/月,美国达拉斯Windows VPS,2核4G/50GB SSD/2TB流量/Hyper-V虚拟化

vpsdime怎么样?vpsdime是2013年成立的国外VPS主机商,以大内存闻名业界,主营基于OpenVZ和KVM虚拟化的Linux套餐,大内存、10Gbps大带宽、大硬盘,有美国西雅图、达拉斯、新泽西、英国、荷兰机房可选。在上个月搞了一款达拉斯Linux系统VPS促销,详情查看:vpsdime夏日促销活动,美国达拉斯vps,2G内存/2核/20gSSD/1T流量,$20/年,此次推出一款Wi...

DiyVM(50元起)老牌商家,香港沙田CN2直连vps/不限流量/五折终身优惠

diyvm怎么样?diyvm是一家国内成立时间比较久的主机商家了,大约在6年前站长曾经用过他家的美国机房的套餐,非常稳定,适合做站,目前商家正在针对香港沙田机房的VPS进行促销,给的是五折优惠,续费同价,香港沙田机房走的是CN2直连的线路,到大陆地区的速度非常好,DiyVM商家采用小带宽不限流量的形式,带宽2Mbps起步,做站完全够用,有需要的朋友可以入手。diyvm优惠码:五折优惠码:OFF50...

一键去除宝塔面板各种计算题与延时等待

现在宝塔面板真的是越来越过分了,删除文件、删除数据库、删除站点等操作都需要做计算题!我今天升级到7.7版本,发现删除数据库竟然还加了几秒的延时等待,也无法跳过!宝塔的老板该不会是小学数学老师吧,那么喜欢让我们做计算题!因此我写了个js用于去除各种计算题以及延时等待,同时还去除了软件列表页面的bt企业版广告。只需要执行以下命令即可一键完成!复制以下命令在SSH界面执行:Layout_file="/w...

measurestring为你推荐
混淆矩阵非监督分类可以用混淆矩阵进行精度评价吗国家法律法规数据库官网有什么网站可以查到 各种法律的条文?g2g吉他的效果器的名称是什么意思?(G1G,G2G等等)settimer如何使用SetTimer MFC 够详细查字网拐字换什么偏旁 成新字oracle索引Oracle中有多少种索引类型jql建筑设计图纸上JQL 梁,是不是地下正负零基础梁?急急!调度系统生产调度系统editplus破解版cool edit pro 2.1汉化破解版丁奇请全面剖析一下黑胡子丁奇这个人物。
美国vps推荐 域名备案网站 中国域名网 naning9韩国官网 flashfxp怎么用 softlayer yardvps winhost directadmin 正版win8.1升级win10 全能主机 777te 免费个人空间申请 vip域名 国外ip加速器 闪讯官网 网通服务器 网页加速 测速电信 卡巴斯基官网下载 更多