查找渲染/可见文本的高度

2023-11-29

I know how to get this height of a font: enter image description here

通过将文本放置在 div 中并获取 div 的偏移高度。

But I would like to get this actual height (Which will depend on font family): enter image description here

使用基于网络的编程是否有可能实现这一点?


有一个简单的解决方案吗?我想答案是否定的。

如果您愿意使用更复杂(且处理器密集型)的解决方案,您可以尝试以下方法:

将文本渲染到画布上,然后使用canvasCtx.getImageData(..)检索像素信息。接下来,您将执行类似于此伪代码所描述的操作:

first_y : null
last_y : null
for each y:
    for each x:
        if imageData[x][y] is black:
            if first_y is null:
                first_y = y
            last_y = y
height = last_y - first_y

这基本上是查找字母(黑色像素)的顶部(最低 y 索引)和底部(最高 y 索引),然后减去以检索高度。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找渲染/可见文本的高度 的相关文章

  • 如何使用 jQuery 选择第一个块级父级?

    考虑以下标记 div h1 span span lorem ipsum span span h1 div 如何找到块级别的 span 3 的第一个父级 即具有display block 使用 jQuery 在这种情况下 那就是h1 1 3
  • 正则表达式中连字符的这种用法有效吗?

    NB I only想知道它是否是正则表达式定义中未转义连字符的有效应用 它是not关于匹配电子邮件 连字符或反斜杠的含义 量词或其他任何内容的问题 另外 请注意 链接的答案并没有真正讨论转义 未转义连字符之间的有效性问题 通常我会像这样声明
  • websockets 如何处理同一浏览器的两个选项卡

    I have 1 个 PHP 服务器 提供 http 请求 和 1 node js 发布更新的数据消息 每个连接都带有 websocket php 服务器设置其 cookie 在一个浏览器中 此 cookie 可在所有选项卡中使用 当浏览器
  • .points 不透明度/大小在三个.js 内

    我回来回答有关 points 的第二个问题 这次想知道如何将不透明度从 0 更改为 1 然后又回到距发射器的特定像素距离内 var particleCount 14 particles new THREE Geometry pMateria
  • 如何显示接下来的三个图像单击加载更多按钮

    我需要一个加载更多按钮来显示图像 页面加载时 我显示 3 个图像 单击 加载更多 按钮后 接下来的 3 个图像将显示在屏幕上 我尝试了下面的代码 但它不起作用 你能帮我解决这个问题吗 function item slice 0 2 show
  • Firefox Addon 中的 JQuery 导致多个警告

    我在 Firefox 插件中使用 jquery 但我不断收到大量警告消息 如下所示 anonymous function does not always return a value System JS WARNING resource g
  • .removeClass 从所有元素(相对于单个定义的元素)

    我将如何使用 removeClass 删除所有匹配的类 而不是单独调用每个元素 所以代替这个 input removeClass CO form alert select removeClass CO form alert input se
  • JQuery 菜单图标 RTL

    我正在尝试在阿拉伯语 RTL 页面中使用 jQuery 菜单 我可以将其设为 RTL 但图标应该是ui icon carat 1 w not ui icon carat 1 e 我创建jsfiddle在这里 http jsfiddle ne
  • Angular 4 Http POST 不起作用

    我希望每个人都做得很好 我最近开始使用 Angular 4 4 我一直在尝试将数据发布到我的 api 服务器 但不幸的是它不起作用 我花了大约两天的时间 但仍然没有成功 甚至已经尝试过 6 7 篇文章角 io https angular i
  • Chrome --app 相当于 Firefox\IE

    我有一个网络应用程序 客户要求单击不同按钮时更改浏览器窗口大小 我发现在那link https stackoverflow com questions 13436855 launch google chrome from the comma
  • Angular2:动态同步http请求

    Goal 发出一系列同步 http 请求并能够将它们作为一个可观察流进行订阅 示例 不工作 let query arr test1 test2 test3 function make request query arr if query a
  • 从链接打开本地文件夹

    如何通过单击任何链接打开本地文件夹视图 我尝试了很多选择 例如 a href Open folder a or a Open folder a or a Open folder a 解决方案 启动可下载链接 以下内容适用于所有浏览器 但一如
  • 如何在React中动态分配属性?

    这是一个有两个参数的函数 我要创建的标签的名称 具有以下属性的对象 Using React 我创建一个组件并将该元素渲染到 DOM 问题是我想向元素添加属性 但它不允许循环在元素内设置属性 var Element function elem
  • Svelte 条件元素类报告为语法错误

    我正在做一个if块每if 块的精简指南 https svelte technology guide if blocks 这看起来很简单 但 Svelte 认为这是一个语法错误 svelte plugin ParseError Unexpec
  • 在反应中访问回调内的 event.target

    我有以下课程片段 constructor props super props this timeout null search e gt clearTimeout this timeout this timeout setTimeout f
  • WordPress 子主题包括包含文件

    我在一家WordPress使用 AMPPS 作为本地主机在我的本地计算机上进行设置 使用 Delta 主题 我创建了一个子主题 delta2 child 初始设置效果很好 但是 我需要更改包含文件夹中名为 home slider php 的
  • 如何将MathJax公式转换为img

    Mathjax 现在在我的项目中运行良好 但有一个问题 有没有办法将MathJax的公式 纯html和css 转换成img文件 我可以保存 MathJax 可以配置为生成 SVG 看http docs mathjax org en late
  • onPress 方法中箭头函数与普通函数的行为

    正在学习 Native React 并学习更多关于 javascript 的知识 所以我仍然不明白它的行为的很多事情 我使用 TouchableOpacity 及其 onPress 属性创建了一个按钮组件 为了让它工作 我必须发送我想要执行
  • 如何跨多个文件跨越 javascript 命名空间?

    我永远忽略了javascript 几年前我开始使用 jQuery 这样我就可以过得去 但随着我开始更多地进行 TDD 我昨天决定真正深入研究 javascript 之后可能还有咖啡脚本 在我的 ASP NET Web 窗体应用程序中 我有很
  • Graphql 将多个查询合并(组合)为一个?

    我正在尝试使用 JavaScript 将多个 GraphQL 查询合并为一个查询 我正在寻找这样的东西 let query3 mergeQueries query1 query2 我们事先不知道哪些查询将被组合 假设我有这样的查询 输入查询

随机推荐

  • 为输出文件指定日期和时间

    我正在研究ffmpeg屏幕捕获 我不希望它在启动时开始录制 所以我需要给输出视频文件一个每次开始录制时都不同的名称 我确实发现这个问题非常接近我需要的 所以我结束了在批处理文件中使用以下命令 echo off For f tokens 2
  • 画布仅在循环结束后重绘

    我在画布上循环绘图时遇到问题 我想要实现的是 在每个循环中 脚本等待几毫秒 然后在画布上绘制 用户实际上可以看到更改 然后重复循环 相反 它所做的是用户无法看到更改 直到 for 循环结束 但我发现 如果我显示一个警报窗口并且脚本等待用户响
  • Azure Web App 部署失败,无法读取未定义的属性“updateStartupCommandAndRuntimeStack”

    尝试将 dotnet core 5 应用程序从 Azure Devops 部署到 Azure Linux Web 应用程序 构建工作正常 但部署步骤总是失败并显示此消息 给出了一些上下文 2021 11 09T09 53 24 617247
  • 错误:找不到符号方法 findViewById(int)

    我在我的小应用程序中遇到了 WebView 问题 我的布局中有相关的 webview 和正确的信息 并且我有直接来自 Android 开发人员站点的示例代码 但它不适合我 错误围绕 findViewById R id webview met
  • 如何计算 TTF 字体中两个字形之间的间距?

    这是一个定义了a的图字体水平字形度量的几个术语 假设我有一句话 Foo 酒吧巴兹 如何获取单词 Foo 和 bar 之间的间距大小 以像素为单位 我想我总结一下 Foo 中 o 字素中的空白右侧填充 从advance the bearing
  • 操作对象文字:按特定顺序添加属性

    我正在开发一个在线创建 Nassi Shneiderman 图的工具 每个图的模型只是一个对象文字 存储具有无限可能的子项的所有内容 this then results in a view populated like the follow
  • 幂查询 M IN 运算符

    相当于 SQL 的什么INPower BI 的运算符 就像子句中一样 where Column1 IN Value1 Value2 Value3 我正在寻找 M 解决方案 不是 DAX 您可以使用List Contains功能 例如 Tab
  • Guice 在实例化对象后调用 init 方法

    是否可以告诉 Guice 在之后调用某个方法 即 init 实例化给定类型的对象 我在 EJB 3 和 Spring 中寻找类似于 PostConstruct 注释的功能 您只需添加 Inject注释到你的init 方法 实例化对象后它将自
  • C# Socket BeginReceive / EndReceive 捕获多条消息

    问题 当我做这样的事情时 for int i 0 i lt 100 i SendMessage sometSocket i ToString Thread Sleep 250 works with this doesn t work wit
  • 我的 UITabBarController 的 didSelectViewController 方法没有被调用?

    这是我的 app delegate m 的代码存根 它永远不会被调用 void tabBarController UITabBarController tabBarController didSelectViewController UIV
  • 使用 SSH.NET 在进度栏中显示文件上传进度

    我想在我的设备上显示上传过程的进度ProgressBar 这是我的 上传 按钮的代码 private void button2 Click object sender EventArgs e int Port int Parse textB
  • 如何为现有 .json 文件添加一个对象和一对?

    我有一段代码可以更改现有 JSON 文件中确定对的值并且运行良好 现在我需要将一个对象和一对添加到该文件中 大部分使用相同的代码 那么如何做到这一点呢 谢谢 uses System Json ShFolder System IOUtils
  • 有没有办法将冒号放入 jtextfield 中,使其无法被删除?

    我希望用户输入时间 比如 12 00 但我需要弄清楚一些事情 但我迷失了方向 我可以将文本限制为 5 个字符吗 如何限制 我可以在代码中嵌入冒号 这样用户就无法删除它吗 最后 我可以获取该代码并验证它是否只是数字 当然忽略冒号 答案是使用一
  • 如何使用命令行在android中获取imsi号码

    我想要得到IMSISIM 卡数量Android使用命令行的电话 android 中是否有任何 adb 命令或任何 shell 命令用于此 I tried adb shell getprop ril IMSI在三星 Galaxy ace 中执
  • Shiny 中的动态 ggvis 对象

    我正在尝试向 Shiny 应用程序添加动态 ggvis 绘图 首先 用户选择一个维度 然后从该维度添加项目 对于 global R 和示例数据 请参阅https gist github com tts a41c8581b9d77f131b3
  • iPhone 5 优化要求 - 启动图片真的有必要吗?

    当尝试将二进制文件上传到 App Store 时 我在电子邮件中收到以下回复 iPhone 5 优化要求 您的二进制文件未针对 iPhone 5 进行优化 自 5 月 1 日起 提交的所有新 iPhone 应用程序和应用程序更新必须支持 i
  • 为 vs2012 c++ 请求 MSVCR110.dll 发布 .exe

    我正在尝试使用 vs2012 Express 编译发布可执行文件 但是 每当我尝试在其他计算机上运行 exe 时 我都会收到一条警告 提示我需要 msvcr110 dll 我可以简单地复制 dll 但我正在寻找更长期的解决方案 在我尝试隔离
  • 为什么我们不能用私有扩展类方法重写基类方法?

    class One void foo class Two extends One private void foo more code here 为什么上面的代码片段是错误的 我将尝试结合其他答案的想法来得出一个答案 首先 让我们看一下代码
  • iTextSharp 设置默认字体大小

    我正在使用 iTextSharp 创建一个新的 pdf 文件 该 pdf 文件将包含一个标题和一个 pdf 表 生成的 pdf 文件的文件大小应尽可能小 因此我使用默认字体 Helvetica 12pt 有没有办法将默认字体大小从 12pt
  • 查找渲染/可见文本的高度

    I know how to get this height of a font 通过将文本放置在 div 中并获取 div 的偏移高度 But I would like to get this actual height Which wil