Crea una aplicacion para dibujar en Python. Ejemplo básico

instalación:

pip install pygame

Este código crea una ventana en la que se puede dibujar con el ratón. La aplicación dibuja una línea continua a medida que el usuario mueve el ratón y dibuja una línea separada cuando el usuario suelta el botón del ratón y luego comienza a dibujar nuevamente. El color y el tamaño del lápiz se pueden personalizar editando las variables «pencil_color» y «pencil_size».

import pygame

# Inicializar pygame
pygame.init()

# Definir las dimensiones de la ventana
window_width = 500
window_height = 500

# Crear la ventana
window = pygame.display.set_mode((window_width, window_height))

# Definir el título de la ventana
pygame.display.set_caption("Dibujar con el ratón")

# Definir el color de fondo de la ventana
background_color = (255, 255, 255)

# Definir el color del lápiz
pencil_color = (0, 0, 0)

# Definir el tamaño del lápiz
pencil_size = 5

# Inicializar la variable para guardar los puntos del lápiz
points = []

# Función para dibujar la línea entre los puntos
def draw_line(points):
    for i in range(len(points) - 1):
        pygame.draw.line(window, pencil_color, points[i], points[i+1], pencil_size)

# Bucle principal
running = True
while running:

    # Eventos
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.MOUSEBUTTONDOWN:
            # Agregar el punto inicial al array de puntos
            points.append(pygame.mouse.get_pos())
        elif event.type == pygame.MOUSEMOTION:
            # Agregar puntos adicionales al array de puntos mientras se mueve el ratón
            points.append(pygame.mouse.get_pos())
        elif event.type == pygame.MOUSEBUTTONUP:
            # Dibujar la línea final cuando se suelta el botón del ratón
            draw_line(points)
            points = [] # Limpiar el array de puntos para comenzar una nueva línea

    # Dibujar el fondo de la ventana
    window.fill(background_color)

    # Dibujar las líneas en la ventana
    draw_line(points)

    # Actualizar la ventana
    pygame.display.update()

# Cerrar pygame
pygame.quit()

resultado: