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)。
当我显示默认 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)。