代码之家  ›  专栏  ›  技术社区  ›  dildeolupbiten

为什么有些文本在画布和postscript中的位置看起来不同?

  •  0
  • dildeolupbiten  · 技术社区  · 6 年前

    下面是程序运行时拍摄的屏幕截图。

    enter image description here

    下面是运行postscript文件时拍摄的屏幕截图。

    enter image description here

    为什么有些文本的位置( STANDARD PENETRATION TEST 和 GEOLOGICAL DESCRIPTION )在程序和postscript中看起来不同?它们都是用类似的函数创建的。我真的不明白为什么会这样?

    顺便说一下,下面是将画布导出到postscript文件的函数。我想知道一些文本的位置差异是否与这个函数的参数有关。

        def export_canvas(self):
            self.postscript(
                file="output.ps",
                colormode="color",
                height=self.canvasy(self.winfo_height()),
                width=self.canvasx(self.winfo_width())
            )
    
    0 回复  |  直到 6 年前
        1
  •  1
  •   halfer Jatin Pandey    5 年前

    我可以看到三个可能的原因;

    首先,应用程序生成的PostScript程序与预期结果不匹配。这可能是PostScript生成器中的一个bug。

    其次,您使用的PostScript解释器有一个bug,并且错误地呈现PostScript程序,导致了不同的结果。这可能是PostScript解释器中的一个bug,您可以使用不同的PostScript解释器进行测试。您没有说明要使用什么来渲染PostScript。

    第三,原始应用程序中的显示不正确。有点疯狂,但文本看起来在PostScript渲染输出中居中,在屏幕截图中没有,也没有左对齐。这让我想知道文本是否打算在空白处居中,但显示不正确。大概是您创建了此文档,以便了解预期结果。

    两者之间还有其他细微的排版差异;例如,岩性中的“Y”与屏幕截图中的表线相交,而在渲染版本中则不相交。

    大概您知道预期结果是什么,所以您可以确定这是否是预期行为。您可以尝试不同的PostScript解释器,以查看它是否以不同的方式呈现PostScript程序。如果是这样,那么很可能是您第一次使用的PostScript解释器中的错误。如果没有,那么在生成应用程序中,无论是在显示还是在创建PostScript中,都会出现某种问题。然后,您可以与相关的维护人员一起打开一个bug报告。

    推荐文章