1
Inches = Pixels / dpi

我注意到 PDF Clown 在浮动中使用测量值:如何将英寸和像素转换为浮动的宽度、高度等,以便在 PDF 中正常工作?有人有这个数学公式吗?

1) Inches --> float

2) Pixels --> float
4

1 回答 1

2

PDF 的坐标系基于设备独立性的概念,即保留图形对象与其页面之间的几何关系的能力,无论它们通过何种设备进行渲染。这种与设备无关的坐标系称为用户空间默认情况下,其单位的长度(大约)对应于一个印刷点(1/72 英寸),定义了所谓的默认用户空间

但是,正如 mkl 适当警告您的那样,用户空间和设备空间之间的关系可以通过当前转换矩阵(CTM)进行更改:这实际上意味着用户空间单元的长度仅在应用倾斜或缩放之前与印刷点匹配!此外,由于 PDF 1.6 默认用户空间单位可能会被覆盖,设置页面字典中的 UserUnit 条目。

因此,简短的回答是,在 PDF 中,一英寸对应于 72 个默认用户空间单位(未授予 CTM 干扰);另一方面,由于该坐标系(按定义)与设备无关,因此对像素进行推理是没有意义的——它们仅存在于样本的离散空间中,而 PDF 定义了矢量图形的连续空间,与设备分辨率无关!见下图:

在此处输入图像描述

如果您需要将一些本机以像素表示的图形映射到 PDF 中,那么事先转换为英寸可能是一种明智的方法。

顺便说一句,选择浮点数据类型来表示用户空间测量只是因为它显然是映射这样一个连续体的最方便的近似值——我想在这个解释之后你不会再将测量与测量混淆了。

有关 PDF 坐标系的详细描述可以在当前规范的第 4.2 节中找到。

于 2015-04-08T03:19:52.987 回答