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 的单位是emc# 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 * ,是指针类型。
优惠码50SSDOFF 首月5折50WHTSSD 年付5折15OFF 85折优惠,可循环使用荷兰VPSCPU内存SSD带宽IPv4价格购买1核1G50G1Gbps/3TB1个$ 9.10/月链接2核2G80G1Gbps/5TB1个$ 12.70/月链接2核3G100G1Gbps/7TB1个$ 16.30/月链接3核4G150G1Gbps/10TB1个$ 18.10/月链接阿联酋VPSCPU内存SS...
A2Hosting主机,A2Hosting怎么样?A2Hosting是UK2集团下属公司,成立于2003年的老牌国外主机商,产品包括虚拟主机、VPS和独立服务器等,数据中心提供包括美国、新加坡softlayer和荷兰三个地区机房。A2Hosting在国外是一家非常大非常有名气的终合型主机商,拥有几百万的客户,非常值得信赖,国外主机论坛对它家的虚拟主机评价非常不错,当前,A2Hosting主机庆祝1...
国外商家提供Windows系统的并不常见,CheapWindowsVPS 此次提供的 2 款 VPS 促销套餐,提供 5 折永久优惠码,优惠后月付 4.5 美元起,价格还是挺诱人的,VPS 不限流量,接入 1Gbps 带宽,8 个机房皆可选,其中洛杉矶机房还提供亚洲优化网络供选择,操作系统有 Windows 10 专业版、2012 R2、2016、Linux等。Cheap Windows VPS是...
measurestring为你推荐
weakhashmapJava///map的父类是?云图片华为手机的云照片怎么不见了怎么办调度系统1.说明高级调度、中级调度和低级调度的基本含义。php论坛用php写一个论坛,重点是什么?还有具体的功能,谢谢药品标准查询《中华人民名共和国卫生部药品标准》【20080802】?疫苗之王被称为免疫之王的产品杭州营销型网站易搜的易搜网络clamwin杀毒软件ClamWin有用吗?有没有主动防御的?clamwin我用clamWin Free Antivirus扫描,发现有病毒,请教是否有病毒的文件删除?谢谢!科来网络分析科来网络分析系统的安装部署
美国服务器租用 万网域名空间 vps是什么意思 国外vps主机 budgetvm 国外主机 国外空间服务商 mysql主机 免费ftp空间申请 韩国名字大全 国外ip加速器 安徽双线服务器 七夕快乐英语 全能空间 广州虚拟主机 百度云空间 photobucket 可外链的相册 杭州电信 开心online 更多