在PDF中完全在形状内部绘制形状边界

在PDF中完全在形状内部绘制形状边界,pdf,boundary,Pdf,Boundary,我正在使用PDF中的路径构造来绘制一个形状,比如一个矩形。例如: 0米0 1升1升1 0升0 0升B 但是现在,连接(0,0)和(0,1)的线的中心有(0,0)和(0,1)。因此,边界将矩形“离开”一半的线宽 是否有一个参数,以便将边界完全绘制在矩形内 这只是划线操作的正常行为 线的厚度均匀地分布在线的两侧。因此,如果您有一条从(0,0)到(10,0)的10pt思考线,并使用对接帽线样式,您将有一个带有角(0,-5)、(10,-5)、(10,5)、(0,5)的填充矩形区域 看看-你可以在第二行第

我正在使用PDF中的路径构造来绘制一个形状,比如一个矩形。例如:

0米0 1升1升1 0升0 0升B

但是现在,连接(0,0)和(0,1)的线的中心有(0,0)和(0,1)。因此,边界将矩形“离开”一半的线宽


是否有一个参数,以便将边界完全绘制在矩形内

这只是划线操作的正常行为

线的厚度均匀地分布在线的两侧。因此,如果您有一条从(0,0)到(10,0)的10pt思考线,并使用对接帽线样式,您将有一个带有角(0,-5)、(10,-5)、(10,5)、(0,5)的填充矩形区域

看看-你可以在第二行第二列看到这种效果。内部白线和外部黑线具有相同的起点和终点


因此,如果您想让所有内容都位于该矩形内,可以使用mkl所说的剪辑路径,也可以计算必要的端点,同时考虑线宽和线帽/连接样式。

如注释中所述,使用剪辑路径可以选择该矩形的大小

由于您的路径仅包含所讨论的矩形,因此您可以非常轻松地执行此操作,只需在路径绘制操作符B之前添加剪切路径操作符W

0 0 m 0 1 l 1 1 l 1 0 l 0 0 l W B
如果您不想保留剪辑路径,请将所有这些都包含在“保存状态/还原状态”中

q
0 0 m 0 1 l 1 1 l 1 0 l 0 0 l W B
Q

使用一个矩形大小的剪辑路径。你能发布你所看到的图像并清楚地指出你认为错误的地方吗?这是一个非常小的矩形。由于默认线宽为1,您是否尝试过只绘制一个更大的矩形?此外,除非MediaBox和CropBox是非默认值,否则笔划矩形的左边缘和下边缘将被切断。说“72米72 82升82升82升82升72升72升72升B”你也可能违反了缠绕规则。试着用“B*”代替“B”,从非零绕组切换到奇偶绕组。