You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostScript中rectstroke绘制矩形尺寸不符问题及优化方案咨询

PostScript矩形描边尺寸问题解答

你的判断完全正确。PostScript中rectstroke命令绘制的矩形路径是矩形的中线,描边时线条会向路径的内外两侧各延伸线宽的一半。比如你用4 setlinewidth,线条会向外、向内各扩展2点,原本指定的20x20路径,最终显示的正方形边长就变成了20 + 4 = 24点。

除了自定义my_rectstroke函数,有两种简洁的解决方法:

  • 手动修正矩形参数:直接调整矩形的起始坐标和尺寸,抵消描边向外扩展的宽度。公式为:

    • 新起始x = 原x + 线宽/2
    • 新起始y = 原y + 线宽/2
    • 新宽度 = 原宽度 - 线宽
    • 新高度 = 原高度 - 线宽
      对应你的例子,修正后的代码是:
    newpath 4 setlinewidth 2 2 16 16 rectstroke
    

    这样绘制出的正方形外部尺寸刚好是20x20。

  • 启用描边对齐(strokeadjust):如果你的场景允许依赖设备坐标对齐,可以设置strokeadjust true,让PostScript解释器自动调整描边位置,使线条边缘对齐到坐标边界。不过这个方法更适合解决像素模糊问题,对于精确控制外部尺寸,手动修正参数的可靠性更高。

内容的提问来源于stack exchange,提问作者Karel Adams

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 02:01:17