我正在绘制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 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画布中,可以在恢复图形状态后绘制笔划,以便通过等宽线绘制路径。
http://www.html5canvastutorials.com/advanced/html5-canvas-ovals/
在Q中放入S后,Q无效。
有没有办法在PDF中获得相同的结果,只有线路径被缩放,而不是笔画本身?
答案 0 :(得分:3)
请参阅PDF规范ISO 32000-1:2008的图9 - 图形对象 - 第113页。它说明了一旦开始构建路径,唯一允许的运算符就是路径构造,路径剪切和路径绘制。 Q 是一个特殊的图形状态运算符,只允许在路径绘制运算符之后,例如,你的 S 。
这也在图表正下方的例子中说明:
路径构建运算符 m 和 re 表示开头 一个路径对象。在路径对象内部,附加路径构造 允许运算符,剪切路径运算符 W 和 W * ,但不是一般的图形状态运算符,例如 w 或 J 。 路径绘制运算符(例如 S 或 f )结束路径对象 并返回页面描述级别。
因此回应“是否有某种方法可以在PDF中获得相同的结果,只有线路径得到缩放,而不是笔划本身?”:不,你必须明确选择较小的笔划宽度来补偿不同的比例由转换矩阵引入。