在 PDF 中绘制完全位于形状内部的形状边界
Drawing boundary of shape entirely inside the shape in PDF
我正在使用 PDF 中的路径构造来绘制形状,比如矩形。例如:
0 0 m 0 1 l 1 1 l 1 0 l 0 0 l B
但是现在,连接 (0,0) 和 (0,1) 的线的中心是 (0,0) 和 (0,1)。因此,边界"leaves" 矩形乘以线宽的一半。
是否有一个参数,让边界完全绘制在矩形内部?
这只是画线操作的正常行为。
线的粗细均匀分布到线的两侧。因此,如果您有一条从 (0,0) 到 (10,0) 的 10pt 思考线并使用对接帽线样式,您将有一个带有角 (0,-5)、(10,-5) 的填充矩形区域), (10,5), (0,5).
看看 this PDF file - 您可以在第二行第二列中看到这种效果。内侧白线和外侧黑线的起点和终点相同。
因此,如果您想将所有内容都放在该矩形内,要么使用像 mkl 所说的剪辑路径,要么计算必要的端点,同时考虑线宽和线 cap/join 样式。
如评论中所述,使用矩形大小的剪辑路径 是一个选项。
因为你的路径只包含有问题的矩形,你可以很容易地做到这一点,只需在路径绘制运算符 之前添加剪切路径运算符 W B:
0 0 m 0 1 l 1 1 l 1 0 l 0 0 l W B
如果您不想保留剪辑路径,请将所有内容包含在 save-state/restore-state
中
q
0 0 m 0 1 l 1 1 l 1 0 l 0 0 l W B
Q
我正在使用 PDF 中的路径构造来绘制形状,比如矩形。例如:
0 0 m 0 1 l 1 1 l 1 0 l 0 0 l B
但是现在,连接 (0,0) 和 (0,1) 的线的中心是 (0,0) 和 (0,1)。因此,边界"leaves" 矩形乘以线宽的一半。
是否有一个参数,让边界完全绘制在矩形内部?
这只是画线操作的正常行为。
线的粗细均匀分布到线的两侧。因此,如果您有一条从 (0,0) 到 (10,0) 的 10pt 思考线并使用对接帽线样式,您将有一个带有角 (0,-5)、(10,-5) 的填充矩形区域), (10,5), (0,5).
看看 this PDF file - 您可以在第二行第二列中看到这种效果。内侧白线和外侧黑线的起点和终点相同。
因此,如果您想将所有内容都放在该矩形内,要么使用像 mkl 所说的剪辑路径,要么计算必要的端点,同时考虑线宽和线 cap/join 样式。
如评论中所述,使用矩形大小的剪辑路径 是一个选项。
因为你的路径只包含有问题的矩形,你可以很容易地做到这一点,只需在路径绘制运算符 之前添加剪切路径运算符 W B:
0 0 m 0 1 l 1 1 l 1 0 l 0 0 l W B
如果您不想保留剪辑路径,请将所有内容包含在 save-state/restore-state
中q
0 0 m 0 1 l 1 1 l 1 0 l 0 0 l W B
Q