PostScript 默认 CTM 值

PostScript Default CTM values

当我显示默认 CTM 时,我得到以下内容

[1.33333 0.0 0.0 1.33333 0.0 0.0]

1.33333是什么原因?如果我对 CTM 的理解正确,第一个条目是 s_x*cos,第四个条目是 s_y*cos?那么为什么缩放比例默认为 1.33333?

CTM是从用户space映射到设备space的手段,所以初始CTM会将默认用户space映射到特定设备space你有。

最初用户 space 是 72 PostScript 单位每英寸,但与设备 space 不同的是,它可以无限(受数学库的限制)细分。

基本上这意味着实际值取决于底层设备的分辨率。

因此,如果您的基础设备是 96 dpi,则 72 个用户 space PostScript 单位 = 96 个设备像素,因此每个 PostScript 单位覆盖 96/72 = 1.3333... 设备像素。在 300 dpi 下,默认用户 space 中的 72 个 PostScript 单位将覆盖 300 个设备像素,因此 1 个 PostScript 单位将覆盖 300/72 = 4.1666... 设备像素。等等。

秤运算符(以及其他更改 CTM 的运算符)只是更改用户 space 和设备 space 之间的映射。因此,如果我们从 144x144 的分辨率开始,则 CTM 将为 [2 0 0 2 0 0],用户 space 中的每个 PostScript 单元覆盖设备 space 中的 144 个设备像素,因此 1 个单元 = 1英寸。如果我们然后应用 2 2 比例,则 CTM 变为 [4 0 0 4 0 0],因此用户 space 中的每个单位现在覆盖 296 个设备像素,或 2 英寸(144 dpi)。