Decenter изображение на питоне - PullRequest
1 голос
/ 06 ноября 2019

Я хотел бы децентрировать изображение в моей программе. Я установил границу -230, -300, как вы можете видеть, но изображение, которое я поместил в качестве фона, центрируется. Я хотел бы поместить это в пределах границы.

    #SET UP WINDOW
    wn = turtle.Screen()
    wn.bgcolor("black")
    wn.title("x")
    wn.setup(width=800, height=800)
    wn.bgpic("spacebg.png")


    #DRAW GAME BORDER
    border_pen = turtle.Turtle()
    border_pen.speed(0)
    border_pen.color("white")
    border_pen.penup()
    border_pen.setposition(-230, -300)
    border_pen.pendown()
    border_pen.pensize(3)
    for side in range(4):
        border_pen.fd(600)
        border_pen.lt(90)
    border_pen.hideturtle()

1 Ответ

1 голос
/ 08 ноября 2019

Поскольку изображение всегда центрируется на (0, 0), мы можем использовать setworldcoordinates(), чтобы изменить местоположение (0, 0):

import turtle

# SET UP WINDOW
wn = turtle.Screen()
wn.bgcolor('black')
wn.title("x")
wn.setup(width=800, height=800)
wn.setworldcoordinates(-470, -400, 330, 400)  # 70 pixel shift
wn.bgpic("spacebg.png")

# DRAW GAME BORDER
border_pen = turtle.Turtle()
border_pen.speed('fastest')
border_pen.color('white')
border_pen.pensize(3)

border_pen.penup()
border_pen.setposition(-300, -300)
border_pen.pendown()

for side in range(4):
    border_pen.fd(600)
    border_pen.lt(90)

border_pen.hideturtle()

wn.mainloop()
...