在PDF中恢复图形状态后,是否可以为路径绘制笔划?
我在PDF中画线,我想以1:1以外的比例缩放 问题是,我得到的笔划看起来像是用卡利笔画的 是否可以在PDF中调整路径大小,恢复图形状态,然后绘制上一条路径的笔划 这是我如何在PDF中获得校准线条笔划的方法:在PDF中恢复图形状态后,是否可以为路径绘制笔划?,pdf,Pdf,我在PDF中画线,我想以1:1以外的比例缩放 问题是,我得到的笔划看起来像是用卡利笔画的 是否可以在PDF中调整路径大小,恢复图形状态,然后绘制上一条路径的笔划 这是我如何在PDF中获得校准线条笔划的方法: 5 w // width of stroke q // saves the current graphics state 0 1 0 0.2 0 0 cm // transformation matrix scaling wit
5 w // width of stroke
q // saves the current graphics state
0 1 0 0.2 0 0 cm // transformation matrix scaling with height reduced to 20%
0 10 m // Start of line
10 10 l // line to
20 100 l
30 100 l
40 10 l
S // draws stroke
Q // Restores graphics state
在HTML5画布中,可以在恢复图形状态后绘制笔划,以便通过等宽线绘制路径
在PDF中,将S放在Q之后不起作用
有没有办法在PDF中获得相同的结果,其中只缩放线条路径,而不缩放笔划本身?请查看PDF规范第113页的图9-图形对象。它说明,一旦开始构建路径,就只允许使用用于路径构建、路径剪裁和路径绘制的操作符Q仅在路径绘制操作符之后才允许作为特殊图形状态操作符,例如,您的S 图下方的示例中也说明了这一点: 路径构造操作符m和re表示开始 路径对象的属性。在路径对象内部,附加的路径构造 允许使用操作符,剪切路径操作符W和 W*,但不是一般的图形状态操作符,如W或J。 路径绘制操作符(如S或f)结束路径对象 并返回到页面描述级别 因此,对于“是否有某种方法可以在PDF中获得相同的结果,其中只有线路径被缩放,而不是笔划本身?”:否,您必须明确选择较小的笔划宽度,以补偿变换矩阵引入的不同比例
你说“在PDF中,在Q之后放S不起作用”;发生了什么?谢谢你的回复。很糟糕,除了手动计算坐标的纵横比之外,没有更好的解决方案。当x y坐标值必须被描述为绝对值时,例如:“11.33533433,43.4335334 l”,而不仅仅是带有定标器的“10 80 l”,这会使PDF变得更大。如果我使用0宽度,则PDF阅读器会将线条显示为相等宽度,即使aspectratio是错误的。缩放后,0仍然为0,其含义是“0的线宽应表示在设备分辨率下可以渲染的最细线条”(ISO 32000-1:2008第8.4.3.2节)它独立于ctm。请记住,对包含PDF操作符的流进行压缩是很常见的;因此,生成的文件通常可以保持非常小。另外,不要过分强调精度:这里的单位是用户空间,单位(“1”)已经只有1/72英寸。@davidvandriesche:典型的PDF渲染器只使用单精度浮点;双精度仍然是非常可选的。