社区
界面
帖子详情
GetTextExtentPoint计算结果不准确
stivenjia
2013-07-04 10:51:49
对RichEdit输出的中文,使用GetTextExtentPoint计算字符的长宽发现,宽度计算不准确,高度还是准确的;
而且该误差只存在中文英文还是正确的,很奇怪,不知道谁遇到过;
例如:宋体 14号字 GetTextExtentPoint得到结果是23*23而通过截屏等工具得到的结果是17*23,宽度误差6个像素;
...全文
261
3
打赏
收藏
GetTextExtentPoint计算结果不准确
对RichEdit输出的中文,使用GetTextExtentPoint计算字符的长宽发现,宽度计算不准确,高度还是准确的; 而且该误差只存在中文英文还是正确的,很奇怪,不知道谁遇到过; 例如:宋体 14号字 GetTextExtentPoint得到结果是23*23而通过截屏等工具得到的结果是17*23,宽度误差6个像素;
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
向立天
2013-08-05
打赏
举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了
疑难问题汇总帖
并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面
界面版关于版主结帖工作的具体办法
stivenjia
2013-07-04
打赏
举报
回复
楷体和微软雅黑也存在这问题,只是偏差值略大或略小
Eleven
2013-07-04
打赏
举报
回复
如果你用等宽的字体呢?
计算机DialogProc函数.pdf
Get
Tex
t
Metrics和Get
Tex
t
Exte
ntP
o
int
32函数可用于获取这些信息,但为了确保
准确
无误,通常建议使用MapDialogRect函数来进行单位转换,因为MapDialogRect会考虑字体因素。 综上所述,DialogProc、EndDialog和...
ListView 自动调整列宽
### ListView 自动调整列宽 #### 概述 在Windows Forms开发中,`...第二种方法虽然稍微复杂一些,但可以更
准确
地适应实际内容的宽度需求。开发者可以根据具体的应用场景和个人偏好选择合适的方法来实现这一功能。
斜体字体的文本宽度
然而,对于斜体字体,这些函数可能无法提供理想的结果,因为斜体字形在X轴方向上的偏移不同于常规字体,它们通常会倾斜,导致传统的宽度测量方法不
准确
。 为了解决这个问题,开发者需要寻找替代方法来计算斜体文本...
为何我用Get
Tex
t
Exte
ntP
o
int
32这个API总是得不到正确的文本长度?
呵呵,偶问题解决了,不能独享,贴出来,楼主看一下,有一个步骤是必须的,就是取得主窗口的FONT,然后设置DC的FONT,然后再计算,这样才正确,参考下面的代码 CSize s; CFont *font = this->GetFont(); ...
Get
Tex
t
Extent、Get
Tex
t
Exte
ntP
o
int
32 精确无误差的使用注意【vc++ / MFC】
网上有大量的有关“获取字符串的显示宽度”的文章,基本都是用 Get
Tex
t
Extent 或 Get
Tex
t
Exte
ntP
o
int
32,但大多数都没说字体的影响,直接结果是误差很大,包括MSDN上的示例: MSDN这段示例原代码: // Po
int
er to ...
界面
15,980
社区成员
115,867
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章