擅长:python、mysql、java
<p>这取决于我们是在测量屏幕上的图像,还是通过底层的tkinter画布获得的打印PostScript图像。在</p>
<p>我的戴尔显示器的像素间距为0.282毫米,所以我希望每英寸能看到90个点。如果海龟画一个半径为45像素的圆,我在屏幕上测量的是一个直径为1英寸的圆。在</p>
<p>但是,如果我打印该图像,并关闭任何打印缩放比例,我将不会得到一个1英寸的打印圆圈,而是更大的。为了得到一个正确打印的圆圈,turtle需要以36为半径绘制,因为PostScript转换的基本度量似乎是基于<em>点</em>(@72/英寸):</p>
<pre><code>from turtle import Turtle, Screen
screen = Screen()
screen.setup(400, 600)
tortoise = Turtle()
tortoise.circle(36)
canvas = screen.getcanvas()
canvas.postscript(file="circle.ps")
screen.exitonclick()
</code></pre>
<p>虽然这个圆圈在我的屏幕上约为3/4“,但打印机上的PostScript输出是1”。(确保关闭任何自动缩放功能并打印@100%)</p>
<p>显示器上图像的实际大小取决于其像素间距。尽管tkinter可以在固定大小的点上显示和打印,pythontturtle只在可变大小的像素中显示。一旦确定了显示器的像素间距,您可以使用自己的缩放因子,或者:</p>
^{pr2}$
<p>要配置自己的缩放比例:</p>
^{3}$
<p>它在屏幕上应该相当精确,但如果没有在PostScript转换期间切换单位或在打印对话框中使用正确的比例因子,则无法正确打印。在</p>