Python乌龟度量单位

2024-04-28 22:19:05 发布

您现在位置:Python中文网/ 问答频道 /正文

当我们实例化一个turtle对象时,我们可以画一个圆。我想知道circle()方法的radius参数。在

import turtle
myTurtle = turtle.Turtle()
myTurtle.circle(50)

这个参数的计量单位是什么?在

半径等于50像素还是50英寸?在


Tags: 对象实例方法import参数半径像素计量单位
3条回答

从文档的前几行可以看出,forward方法使用单位像素,由于文档中没有使用其他单位,所以可以得出所有方法都使用像素的结论。在

编辑:在看过turtle的源代码后,我百分之百确定它是以像素为单位的,因为它直接增加了到位置的距离。在

这取决于我们是在测量屏幕上的图像,还是通过底层的tkinter画布获得的打印PostScript图像。在

我的戴尔显示器的像素间距为0.282毫米,所以我希望每英寸能看到90个点。如果海龟画一个半径为45像素的圆,我在屏幕上测量的是一个直径为1英寸的圆。在

但是,如果我打印该图像,并关闭任何打印缩放比例,我将不会得到一个1英寸的打印圆圈,而是更大的。为了得到一个正确打印的圆圈,turtle需要以36为半径绘制,因为PostScript转换的基本度量似乎是基于(@72/英寸):

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()

虽然这个圆圈在我的屏幕上约为3/4“,但打印机上的PostScript输出是1”。(确保关闭任何自动缩放功能并打印@100%)

显示器上图像的实际大小取决于其像素间距。尽管tkinter可以在固定大小的点上显示和打印,pythontturtle只在可变大小的像素中显示。一旦确定了显示器的像素间距,您可以使用自己的缩放因子,或者:

^{pr2}$

要配置自己的缩放比例:

^{3}$

它在屏幕上应该相当精确,但如果没有在PostScript转换期间切换单位或在打印对话框中使用正确的比例因子,则无法正确打印。在

文件海龟。设置指示大小参数(如果表示为整数)为像素,如果表示为浮点,则为屏幕的分数。在

相关问题 更多 >