post

Llenado de área

llenado de área brown wooden surface
Photo by FWStudio on Pexels.com

El llenado de área es fundamental en la creación de imágenes y gráficos por computadora, ya que permite dar forma y color a objetos y representar de manera realista una amplia variedad de elementos visuales en aplicaciones gráficas y de diseño. Su implementación varía según la plataforma y el tipo de gráficos que se deseen crear. A continuación se muestra un ejemplo, dando textura.

Requerimiento de ejemplo

Tener un archivo de textura de madera (“wood_texture.png” en este caso) en el mismo directorio donde se encuentra el script o ajusta la ruta en consecuencia.

Tener instalado la libreria pygame, se puede realizar con el siguiente comando

pip install pygame

Código de ejemplo

import pygame

# Inicializa Pygame
pygame.init()

# Configuración de la ventana
window_size = (400, 400)
screen = pygame.display.set_mode(window_size)
pygame.display.set_caption("Ejemplo de Llenado de Área")

# Color sólido para el primer llenado
solid_color = (255, 0, 0)  # Rojo (R, G, B)

# Patrón de líneas para el segundo llenado
pattern_color = (0, 0, 255)  # Azul (R, G, B)

# Textura de madera para el tercer llenado
wood_texture = pygame.image.load("wood_texture.png")  # Asegúrate de tener un archivo de textura de madera

# Coordenadas del área
area_x = 100
area_y = 100
area_width = 200
area_height = 200

# Bucle principal
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # Llenado del área con un color sólido
    pygame.draw.rect(screen, solid_color, (area_x, area_y, area_width, area_height))

    # Llenado del área con un patrón de líneas
    for x in range(area_x, area_x + area_width, 10):
        pygame.draw.line(screen, pattern_color, (x, area_y), (x, area_y + area_height))

    # Llenado del área con una textura
    for x in range(area_x, area_x + area_width, wood_texture.get_width()):
        for y in range(area_y, area_y + area_height, wood_texture.get_height()):
            screen.blit(wood_texture, (x, y))

    pygame.display.flip()

pygame.quit()

Explicando el código

Se comienza importando la biblioteca Pygame y luego inicializa Pygame. Pygame es una biblioteca que se utiliza comúnmente para crear juegos y aplicaciones gráficas en Python.

import pygame

# Inicializa Pygame
pygame.init()

Las siguientes líneas de código configuran la ventana de visualización de Pygame. Establece el tamaño de la ventana en 400×400 píxeles y le da un título (“Ejemplo de Llenado de Área”).

# Color sólido para el primer llenado
solid_color = (255, 0, 0)  # Rojo (R, G, B)

# Patrón de líneas para el segundo llenado
pattern_color = (0, 0, 255)  # Azul (R, G, B)

# Textura de madera para el tercer llenado
wood_texture = pygame.image.load("wood_texture.png")

Estas líneas definen tres tipos de llenado para áreas:

  1. solid_color es un color sólido representado en formato RGB (rojo puro).
  2. pattern_color es otro color sólido representado en formato RGB (azul puro).
  3. wood_texture es una textura cargada desde un archivo de imagen llamado “wood_texture.png”. Esta textura se utilizará para llenar áreas.
# Color sólido para el primer llenado
solid_color = (255, 0, 0)  # Rojo (R, G, B)

# Patrón de líneas para el segundo llenado
pattern_color = (0, 0, 255)  # Azul (R, G, B)

# Textura de madera para el tercer llenado
wood_texture = pygame.image.load("wood_texture.png")

Estas líneas definen las coordenadas y el tamaño del área que se llenará con los diferentes tipos de llenado. En este caso, se establece un área rectangular con coordenadas (100, 100) y un ancho y alto de 200 píxeles.

# Coordenadas del área
area_x = 100
area_y = 100
area_width = 200
area_height = 200

Este ciclo principal se ejecuta mientras la variable running sea verdadera. Se utiliza para manejar eventos, como cerrar la ventana. Si el usuario cierra la ventana, se establece running en falso y el bucle se detiene.

# Bucle principal
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

Esta línea utiliza pygame.draw.rect para llenar el área definida por las coordenadas (area_x, area_y) y el tamaño (area_width, area_height) con el color sólido definido en solid_color.

    # Llenado del área con un color sólido
    pygame.draw.rect(screen, solid_color, (area_x, area_y, area_width, area_height))

Este código llena el área con un patrón de líneas azules (pattern_color). Itera a través de x en pasos de 10 píxeles desde la coordenada area_x hasta area_x + area_width. En cada iteración, dibuja una línea vertical azul que cubre todo el alto del área.

    # Llenado del área con un patrón de líneas
    for x in range(area_x, area_x + area_width, 10):
        pygame.draw.line(screen, pattern_color, (x, area_y), (x, area_y + area_height))

Esta sección llena el área con una textura de madera (wood_texture). Itera a través de x y y en pasos del ancho y alto de la textura, respectivamente, y utiliza screen.blit para copiar la textura de madera en la ventana de Pygame en las coordenadas (x, y).

    # Llenado del área con una textura
    for x in range(area_x, area_x + area_width, wood_texture.get_width()):
        for y in range(area_y, area_y + area_height, wood_texture.get_height()):
            screen.blit(wood_texture, (x, y))

Finalmente, pygame.display.flip() actualiza la ventana de visualización, lo que permite que los cambios de llenado se muestren en la pantalla.

    pygame.display.flip()

Al salir del bucle principal, pygame.quit() se utiliza para cerrar Pygame de manera adecuada y liberar los recursos.

pygame.quit()

este código muestra cómo llenar un área rectangular en una ventana de Pygame con diferentes tipos de llenado

Leave a Reply

Your email address will not be published. Required fields are marked *