PostScript默认CTM值

问题描述 投票:0回答:1

当显示默认CTM时,我得到以下信息

[1.33333 0.0 0.0 1.33333 0.0 0.0]

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

matrix transformation postscript
1个回答
2
投票

CTM是从用户空间映射到设备空间的方法,因此初始CTM会将默认用户空间映射到您拥有的特定设备空间。

最初的用户空间是英寸的72个PostScript单位,但是与设备空间不同,它是无限可分割的(取决于数学库的限制)。

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.