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.3.tar.gz (77.1 MB 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.3-py3-none-any.whl (77.1 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lambdawaker_draw_tools-0.1.3.tar.gz
  • Upload date:
  • Size: 77.1 MB
  • 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.3.tar.gz
Algorithm Hash digest
SHA256 7e70969aa4188a3cae650dad31a9782a8af051ab6fe821e18142647b92695a68
MD5 f49f8d823607cfc26fd86f4c458198be
BLAKE2b-256 75396694b979e162b1290df0460a11ee696edc1c2f0a56114b958fb0b952a748

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lambdawaker_draw_tools-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 14f24f69ba3ab85ff7e127c926325634b39b785f4fcb9177d842265d03dcf412
MD5 926dc0f21a285cdac5d8acee0d170e6b
BLAKE2b-256 fac91825162dc27569417418cd5084fb4690d3549b8b8667b0e9a7303e45e324

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