当前位置: 首页 > 面试题库 >

如何计算元素的高度?

杭志泽
2023-03-14
问题内容

我正在通过XML数据生成pdf文件。

我将段落元素的高度计算为:

float paraWidth = 0.0f;
for (Object o : el.getChunks()) {
    paraWidth += ((Chunk) o).getWidthPoint();
}
float paraHeight = paraWidth/PageSize.A4.getWidth();

但是这种方法不能正常工作。

你能给我个主意吗?


问题答案:

您的问题很奇怪。根据您的问题的标题,您想知道字符串的高度,但是您的代码显示您要求的是字符串的宽度。

请看一下FoobarFilmFestival示例

如果bfBaseFont实例,则可以使用:

float ascent = bf.getAscentPoint("Some String", 12);
float descent = bf.getDescentPoint("Some String", 12);

当我们使用12号字体时,这将返回基线以上的高度和基线以下的高度。您可能知道,字体大小是平均高度的指示。不是实际的高度。这只是我们合作的一个数字。

总高度为:

float height = ascent - descent;

或者,也许您想知道a占用的行数Paragraph并将其乘以leading。在这种情况下,存在不同的可能性。因为从您的问题中尚不清楚您想要什么(块的高度,块的宽度,基线的垂直位置,…),所以您将无法获得比已经给出的更好的答案。如果块中字形的高度不符合您的预期,请重新说明您的问题。



 类似资料:
  • 我想数一数一条流的不同元素,我想知道为什么 不行,日蚀告诉我 类型收集器中的方法toMap(Function,Function,BinaryOperator)不适用于参数((s)- 顺便说一句,我知道这个解决方案: 所以我有两个问题: 我的第一个方法有什么错误 编辑:我自己解决了第一个问题: Java需要一个函数作为第二个参数。

  • 问题内容: 我需要分离并计算arraylist中有多少个相同的值,并根据出现的次数进行打印。 我有一个名为digits的arraylist: 我创建了一个将每个值分开并将其保存到新数组的方法。 之后,我得到了一个名为数字的新数组。我在此数组上使用排序 和我的ArrayList看起来像这样: 它具有: 我需要根据数字的多少来打印出数字字符串,所以它看起来应该像这样:1354678290 问题答案:

  • 我试图计算select元素中的选项数,以及DOM中某个类的元素数。 我需要比较这两个总数来得出赛普拉斯的断言。 我可以选择所需的选项,并使用each()对它们进行迭代,然后以这种方式递增一个计数器。然而,它是异步的,也是一个笨拙的解决方案。我确信我的cy.get()生成的对象有一个length属性,我就是看不懂它。 这是我期望的事情之一。它将未定义的日志记录到控制台。 我知道我的别名很好,并且我的

  • 问题内容: 说我有阵列 数组的长度为20,但计数为0。如何获取计数? 问题答案: “计数”是什么意思?具有非零值的元素数量?您只需要数一下。 有 没有区别 数组和一个已之间 明确地 设置与零个值。例如,这些数组是无法区分的: Java中的数组始终具有固定大小-可通过字段访问。没有“当前使用的阵列数量”的概念。

  • 问题内容: 在SO本身中进行了选择-由浏览器(当我们没有显式设置a 而是设置a时)为具有 子 容器 (相对于容器的高度百分比)的“高度计算” : __ 如果不设置高度,则进行设置,但不起作用,请注意,计算出的height值是我给定的。孩子们没有达到我给他们的50%的身高-见下文: 现在,我将其设置为有效!请参见下面的示例: 题: 所以我的问题是-这里发生了什么-我真的很惊讶!当我给它最小高度时,为

  • 问题内容: 我需要找到列表中元素的频率 输出 我也想从中删除重复项 问题答案: 由于列表是有序的,你可以执行以下操作: 输出: