Skip to content

Instantly share code, notes, and snippets.

@hbisneto
Created April 26, 2024 02:42
Show Gist options
  • Save hbisneto/f22a8082abc3c5cc0a1843461fe52dc3 to your computer and use it in GitHub Desktop.
Save hbisneto/f22a8082abc3c5cc0a1843461fe52dc3 to your computer and use it in GitHub Desktop.
import tkinter as tk
def invert_y(canvas, y):
# Obtendo a altura do canvas
canvas_height = canvas.winfo_height()
# Invertendo a o eixo Y
return canvas_height - y
# Criando a janela principal
root = tk.Tk()
root.geometry("800x600")
# Desenhando o canvas
canvas = tk.Canvas(root, width=400, height=400, bg="red")
canvas.pack(anchor = tk.CENTER, expand = True)
# Depois que o canvas for desenhado (e a altura for obtida), atualize o layout
canvas.update()
# Criando um retângulo usando o eixo Y invertido
y_original = 50 # Valor 50: Começa a criação do retangulo na parte inferior do canvas
#y_original = 250 # Valor 250: Começa a criação do retangulo no meio do canvas
#y_original = 400 # Valor 250: Começa a criação do retangulo na parte superior do canvas
y_transformada = invert_y(canvas, y_original)
canvas.create_rectangle(200, y_transformada, 150, y_transformada + 50, fill = "blue")
root.mainloop()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment