关于计算文字显示占用画面大小(System.Drawing.Graphics.MeasureString)
最近遇到了一个需要手动为显示文字换行的场合,网上转了一圈,最后形成了下面的代码:
var font = new Font("微软雅黑", 9F);var maxTextWidth = panel_detail.Width - 22 - DETAIL_BASE_INDENT - DETAIL_INDENT * level - 6;var graphic = panel_detail.CreateGraphics();var textRemained = text;while (textRemained.Length > 0){int characters, lines;graphic.MeasureString(textRemained, font,new SizeF(Convert.ToSingle(maxTextWidth), Convert.ToSingle(DETAIL_HEIGHT)), StringFormat.GenericTypographic,out characters, out lines);var currentTextLine = textRemained.Substring(0, characters);textRemained = textRemained.Substring(characters); // TODO: 使用font作为参数,将currentTextLine中的文字展示出来}
需注意StringFormat一项最好不要设成new StringFormat(),否则得到的计算结果和用Label展示时的大小差距很大。
转载于:https://www.cnblogs.com/Rabbitism/p/6066286.html
关于计算文字显示占用画面大小(System.Drawing.Graphics.MeasureString)相关推荐
- System.Drawing.Graphics.FromImage(Image image)引发内存不足
原因:图片位深度导致的,c# gui 应该无法将32位jpg格式的图片load到内存中 通过对比可成功处理的图片 和 不能处理的图片,发现 CMYK(印刷格式)的图片是无法处理的,具体需要深入 .ne ...
- wpf 字体模糊_WPF:解决WPF文字显示不清晰初探
可能WPF太耀眼了,大家都一直在讨论它的光芒,我也是其中的一员. 当发现它给软件界面设计带来的革命性变化时,说服同事,在新项目中使用了WPF这一新技术. 无奈,项目快结束时,头头验收时说字体模糊,不能 ...
- 题目: 编写一个程序,实现设置上月、本月电表读数,显示上月ji本月电表读数,计算并显示本月用电数。假设每度电的价格为1.2元,计算并显示本月电费。
题目: 编写一个程序,实现设置上月.本月电表读数,显示上月ji本月电表读数,计算并显示本月用电数.假设每度电的价格为1.2元,计算并显示本月public class dian { private in ...
- 题目: 编写一个程序,实现设置上月、本月电表读数,显示上月、本月电表读数,计算并显示本月用电数。假设每度电的价格为1.2元,计算并显示本月电费。
题目: 编写一个程序,实现设置上月.本月电表读数,显示上月.本月电表读数,计算并显示本月用电数.假设每度电的价格为 1.2元,计算并显示本月电费. 说明 v 从键盘上输入上月用电数 lastRecor ...
- 1.现实设置上月、本月电表读数,显示上月、本月电表读数,计算并显示本月用电数,假设每度电的价格1.2元,计算并显示本月电费的功能。
1.现实设置上月.本月电表读数,显示上月.本月电表读数,计算并显示本月用电数,假设每度电的价格1.2元,计算并显示本月电费的功能. public class PowermeterTest { publ ...
- 安卓图片内存优化(一)——图片占用内存大小的计算
安卓开发中经常会遇到因为图片处理不当导致的oom问题,因为系统分配给每个应用的最大内存空间是有限的,正常只有几十上百兆(排除通过特殊手段获取到几百兆内存空间的情况).所以为了节省更多的空间需要对图片进 ...
- Java 中对象占用内存大小计算
原文地址 mp.weixin.qq.com byte 与 bit bit:位,比特.信息的最小单位,二进制数中的一个位数 (二进制位),其值为"0" 或"1": ...
- wpf 放大缩小界面_调整电脑屏幕文本文字显示大小,系统设置放大缩小DPI图文教程...
大家好,我是老盖,首先感谢观看本文,本篇文章做的有视频,视频讲述的比较详细,也可以看我发布的视频. 今天我们讲一下调整屏幕文字显示大小,刚安装完电脑如果分辨率很大,可能显示的文字比较小,我们如果想调整 ...
- android button 中文字位置设置,iOS开发-- 设置UIButton的文字显示位置、字体的大小、字体的颜色...
btn.frame = CGRectMake(x, y, width, height); [btn setTitle: @"search" forState: UIControlS ...
最新文章
- Linux用户添加sudoer
- 闽台“物联网+”产业融合方兴未艾
- web developer tips (37):如何组织Using指令
- 操作系统03进程管理Process_Scheduling
- 查看SQL Server被锁的表以及如何解锁【转】
- mysql 索引超出范围_java.sql.SQLException:列索引超出范围,0 1
- Guacamole之本地安装Guacamole(二)
- Linux配置java环境(超详细)
- 【英雄联盟动画-双城之战】10点首播!6亿召唤师快来
- 十天学会单片机(4)数码管显示的原理,中断系统
- diskgenius扩容c盘重启电脑卡住_无损扩容分区
- 免费遥感图像数据共享网汇总
- request请求头中出现Provisional headers are shown
- linux调试工具ipcs的深入分析
- 2021C语言全套教程
- Python 批量提取 Word 中表格内容,一键写入 Excel
- 多项选择题标准化考试系统设计
- apache arm 交叉编译_Apache 2移植到Arm开发板的过程整理——如何交叉编译Apache 2
- FDC2214电容检测芯片-液位检测(金属探针探测液面)方案分析
- php:Notice: Use of undefined constant id - assumed 'xxxx' 解决办法
热门文章
- 简单读书会 第2018-10-18期
- LDAP Docker部署
- mysql 根据行号查询_MySql:查找特定记录的行号
- 微信公众账号后台怎么解除小程序_公众号与微信解除关联 微信公众号小程序怎么做...
- 培训报名小程序实战开发
- 上海虹口区python培训
- AutoSAR软件组件开发的两类工作流程(Matlab/Simulink)
- c 读取mysql中mediumblob_「mediumblob」JSP如何读取MySql中MEDIUMBLOB字符串 - seo实验室
- [计算机图形学]材质与外观(前瞻预习/复习回顾)
- 优雅地处理异常真是一门学问啊!