当前位置:网站首页>(转)FreeType字体位图属性
(转)FreeType字体位图属性
2022-08-09 22:01:00 【shanql】
原文链接:https://blog.csdn.net/wlk1229/article/details/92424456
从原文中摘取一部分记录如下:
FreeType获取的位图是一张刚好包含文字的位图,不包含左右上下的空白信息。如果绘制文字时直接把每一张位图连接在一起,文字则会一个粘一个,不利于阅读,正常显示的文字上下左右都会有一定的间距。
如上图外面的大矩形框是显示中字时需要的位置,内部红色框是FreeType获取的位图。为了正确显示文字,需要六个位置信息,图中的Height、Width、OffsetX、OffsetY已经位图的长宽。
这六个信息可以通过以下方式获得:
- Height,当调用完FT_Set_Char_Size后,所有字符的高度都是一样的,在FT_Set_Char_Size设置文字大小后,可以通过fontFace->size->metrics.height/64获得,除以64说因为FreeType获取的字体高度单位的原因。
- Width,当调用完FT_Load_Char后,可以通过fontFace->glyph->advance.x/64,也需要除以64。
- OffsetX,当调用完FT_Load_Char后,为fontFace->glyph->metrics.horiBearingX/64。
- OffsetY,当调用完FT_Load_Char后,为(fontFace->size->metrics.height + fontFace->size->metrics.descender - fontFace->glyph->metrics.horiBearingY)64。
- Bitmap宽,当调用完FT_Load_Char后,为fontFace->glyph->bitmap.width。
- Bitmap高,当调用完FT_Load_Char后,为fontFace->glyph->bitmap.rows。
边栏推荐
- Swift 需求 如何防止把view重复添加到win里面
- json case
- R语言拟合ARIMA模型并使用拟合模型进行预测推理:使用forecast函数计算ARIMA模型未来值(包含时间点、预测值、两个置信区间)
- Js fifteen interview questions (with answers)
- leetcode:320.列举单词的全部缩写
- Analyze the Add() method in Fragment management from the source code
- Easyui 表单验证「建议收藏」
- Metasploit常用命令、技术功能模块
- R语言ggstatsplot包grouped_ggscatterstats函数可视化分组散点图、并添加假设检验结果(包含样本数、统计量、效应大小及其置信区间、显著性、组间两两比较、贝叶斯假设)
- 【测试】语句覆盖,判定覆盖,条件覆盖,路径覆盖
猜你喜欢
[Microservice~Nacos] Configuration Center of Nacos
chart.js面积图曲线图统计插件
Xiaohei leetcode's refreshing rainy day trip, just finished eating Yufei Beef Noodles, Mala Tang and Beer: 112. Path Sum
Socket发送缓冲区接收缓冲区快问快答
孙正义亏掉1500亿:当初投贵了
MySQL——JDBC
18-GuliMall 压力测试与性能监控
three.js镂空圆球拖拽变形js特效
为什么这么多人都想当产品经理?
Blender程序化建模简明教程【PCG】
随机推荐
Jinshanyun earthquake, the epicenter is in bytes?
p5.js实现的炫酷星体旋转动画
Blender程序化建模简明教程【PCG】
C. Omkar and Baseball
【EF】 更新条目时出错。有关详细信息,请参见内部异常。[通俗易懂]
2.1.5 大纲显示问题
跨端技术方案选什么好?
String hashing (2014 SERC J question)
leetcode 39. 组合总和(完全背包问题)
Tencent continues to wield the "big knife" to reduce costs and increase efficiency, and free catering benefits for outsourced employees have been cut
R语言检验时间序列的平稳性:使用tseries包的adf.test函数实现增强的Dickey-Fuller(ADF)检验、检验时序数据是否具有均值回归特性(平稳性)、不具有均值回归特性的案例
[Microservice~Nacos] Nacos service provider and service consumer
接口自动化测试实践指导(上):接口自动化需要做哪些准备工作
Flask之路由(app.route)详解
Solution: Edu Codeforces 109 (div2)
工作经验-组件封装(拖拽排序组件)
chart.js面积图曲线图统计插件
MLOps的演进历程
POWER SOURCE ETA ETA Power Repair FHG24SX-U Overview
Deceptive Dice