Skip to main content

Drawing utilities for generating geometric patterns and grids using Pillow and aggdraw

Project description

lambda-draw-tools

Drawing utilities for generating geometric patterns, grids, and wave-based line art using Pillow and aggdraw.

Install

pip install lambda-draw-tools

Quick start

Hexagon grid

from lambdawaker.draw.grid.hexagon_grid import create_hexagon_grid

img = create_hexagon_grid(
    width=600,
    height=600,
    hexagon_size=40,
    thickness=2,
    angle=0,
    color="#4B0082",
    bg_color=(255, 255, 255, 0),
)
img.show()

Angled parallel lines

from lambdawaker.draw.waves.parallel_lines import create_parallel_lines

img = create_parallel_lines(
    width=800,
    height=600,
    spacing=24,
    thickness=2,
    angle=35,
    color="midnightblue",
    bg_color=(255, 255, 255, 0),
)
img.show()

Project Structure

The project is organized into several packages under lambdawaker.draw, each serving a specific purpose:

  • lambdawaker.draw.grid: Contains functions to generate grid-based patterns.

    • shapes_grid.py: Creates grids of arbitrary shapes (circles, squares, etc.).
    • hexagon_grid.py: Generates hexagonal tiling grids.
    • traingles_grid.py: Generates equilateral triangle tiling grids.
    • concentric_polygins.py: Draws concentric polygons.
    • simple_shapes.py: Helper functions for drawing basic shapes like circles, squares, triangles, polygons, and stars.
  • lambdawaker.draw.waves: Provides tools for drawing wave-like patterns.

    • parallel_lines.py: Draws parallel lines at a specified angle.
    • parallel_sin.py: Draws parallel sine waves.
    • square_wave.py: Draws parallel square waves.
    • parallel_sawtooth.py: Draws parallel sawtooth waves.
  • lambdawaker.draw.header: Utilities for creating image headers with decorative bottom edges.

    • sin_header.py: Header with a sine-wave bottom edge.
    • curved_header.py: Header with a curved bottom edge.
    • square_header.py: Simple rectangular header.
  • lambdawaker.draw.color: Color manipulation and generation tools.

    • HSLuvColor.py: A class for handling colors in the HSLuv color space.
    • generate_color.py: Functions for generating random colors.
    • generate_from_color.py: Functions for generating color palettes (complementary, triadic, etc.) from a base color.
    • visualization.py: Tools for visualizing color palettes.
    • utils.py: Utility functions for color math and parsing.
  • lambdawaker.draw.shapes:

    • concentric.py: Contains rotating_polygons for drawing concentric rotating polygons.

Requirements

  • Python 3.8+
  • Pillow >= 9.0
  • aggdraw >= 1.3.16.post1

Notes

  • On some platforms, aggdraw may require build tools if a prebuilt wheel isn’t available.
  • The library exposes convenience creators like create_hexagon_grid and create_parallel_lines, as well as lower-level draw_* functions that render into an existing aggdraw.Draw context.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lambdawaker_draw_tools-0.1.32.tar.gz (297.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lambdawaker_draw_tools-0.1.32-py3-none-any.whl (341.4 kB view details)

Uploaded Python 3

File details

Details for the file lambdawaker_draw_tools-0.1.32.tar.gz.

File metadata

  • Download URL: lambdawaker_draw_tools-0.1.32.tar.gz
  • Upload date:
  • Size: 297.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for lambdawaker_draw_tools-0.1.32.tar.gz
Algorithm Hash digest
SHA256 947a3ba821ccdd65d46b2445c8e66dc34503b293a3d116b591bd64af23c8c461
MD5 410519e9e83969c2f5c3227261afe504
BLAKE2b-256 3ea11fcd9786170fa2887dafed2abac276dca1113b7b6284b9d44141ec399f1a

See more details on using hashes here.

File details

Details for the file lambdawaker_draw_tools-0.1.32-py3-none-any.whl.

File metadata

File hashes

Hashes for lambdawaker_draw_tools-0.1.32-py3-none-any.whl
Algorithm Hash digest
SHA256 96e61167cbfdd85ded1f1909eb82608983482953cb79df9c77a71f369cae996f
MD5 d7093584d12a8a3549b2732049b77a87
BLAKE2b-256 51cb96d7e56f511d4a16afd583d71e8ddc447d741b6d8d55d5f0dc9e66de4dec

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page