Java HTML呈现“ pt”与“ px”大小

时间:2019-05-30 15:13:12

标签: java swing

我在JLabel中指定html元素的宽度时遇到问题,以为我会在这里跑旗杆,看看是否有人提出建议。

当我使用“ px”单位值指定元素的宽度时,结果尺寸实际上为〜133%,而如果我不使用单位或使用“ pt”,则得到的确切尺寸为指定。

在下面的示例中,如果将“ width:100px”更改为“ width:100pt”,则会得到正确的尺寸。

这个答案https://stackoverflow.com/a/6257861/131795似乎与之相关,并且72 dpi的调整似乎与我在示例中看到的不匹配相符。

我可能在这里反对古老的代码,但是为什么要转换绝对px值而将pt值视为绝对值呢?

T

1 个答案:

答案 0 :(得分:0)

好吧,我想我已经找到了Java缩放像素值的“原因”(或罪魁祸首)。

在HTMLEditorKit实现中,有一个CSS类用于处理CSS内容。它具有一个表格,其中包含每个受支持单位的缩放比例值。 (从CSS.class的2843行开始)

对于“ pt”,它是一对一映射。对于“ px”,其1到1.3映射。 甚至有一条评论说:

  

//不确定约1.3,由实验决定。

实际上有两个映射表,如果打开了w3c模式,则使用第二个映射表。它具有从第一张表向后的缩放模式:

对于“ pt”,它是1屏/ 72dpi。对于“ px”,其1对1映射。

我不确定是什么激活了w3c模式,但是请注意该问题。