Canvas字体高度计算与PDF高度如何统一

ops/2024/11/1 17:59:24/

因为英文书写时并不是像汉字一样就是一个方块字,比如下图p有部分是在基线以下,其他的字体都是以基线为参照书写,所以在Canvas中字(或字母)所占的高度是:

metrics.boundingBoxAscent + metrics.boundingBoxDescent+上行间距+下行间距

在这里插入图片描述
如果前端使用Canvas生成图片,后面使用nodejs生成PDF,但PDF中没有计算boundingBoxAscent 和boundingBoxDescent的方法,这时可以简单将字的高度前后台统一为字体高度,而不使用基线的方式计算。
请懂的大神指出有没有什么问题,有没有更好的方式


http://www.ppmy.cn/ops/130192.html

相关文章

vue 禁用element-ui calendar 取消非本月日期的点击事件

需求描述:原本的日历组件不是本月的日期是灰色的,且点击后会跳转到对应的月份,现在不想它跳转,需要禁用它的点击事件 方法:使用css的pointer-events:none属性即可,把不是当前月份的日历表格的td属性修改 :…

【STM32】SD卡

(一)常用卡的认识 在学习这个内容之前,作为生活小白的我对于SD卡、TF卡、SIM卡毫无了解,晕头转向。 SD卡:Secure Digital Card的英文缩写,直译就是“安全数字卡”。一般用于大一些的电子设备比如:电脑、数码相机、AV…

python debug作业

任务类型任务内容预计耗时闯关任务Leetcode 383(笔记中提交代码与leetcode提交通过截图)20mins闯关任务Vscode连接InternStudio debug笔记10mins可选任务pip安装到指定目录10mins leetcode题目解析: 解题思路 字符统计:使用 Python 的 Counter 类统计 ra…

三代CAN技术演进:从CAN CC到CAN XL的创新路径(下篇)

欢迎关注虹科,为您提供最新资讯! #CAN #工业通信 #CAN XL 导读 CAN(Controller Area Network)是一种用于实时应用的串行通信协议,广泛应用于汽车和工业电子设备中,以实现不同设备间的高效数据交换。它采…

程序员如何平衡日常编码工作与提升式学习

程序员如何平衡日常编码工作与提升式学习 在快速变化的技术世界中,作为程序员的你可能常常感到疲惫不堪,尤其是在日常的编码工作与个人成长之间寻找平衡时。如何在应对紧迫的项目截止日期同时,又能不断提升自己的技能?本文将探讨…

【网络面积篇】TCP断开连接(笔记)

目录 一. 四次挥手 (1)过程描述 (2)为什么是四次挥手? 二、相关问题 1. 第一次挥手丢失了,会发生什么? 2. 第二次挥手丢失了,会发生什么? 补充:close …

【C++】类和对象(十):static成员

大家好,我是苏貝,本篇博客带大家了解C的static成员,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 1 概念2 特性 1 概念 声明为static的类成员称为类的静态成员,用static修饰…

歌舞剧《妈妈的女儿》传唱彝族经典 视听盛宴好评如潮

日前,彝族经典歌舞剧《妈妈的女儿》在四川省文化艺术中心歌剧厅精彩开演。该歌舞剧将山水之间的天籁之音、古老而经典的民间故事、独具民族特色的舞美设计、传统文化与现代表演形式完美结合,演出当晚座无虚席,好评如潮。 《妈妈的女儿》是一个…