GPU-accelerated drawing primitives for pixtreme
Project description
pixtreme-draw
GPU-accelerated drawing primitives for pixtreme
Overview
pixtreme-draw provides high-performance drawing operations for rendering shapes, text, and masks directly on GPU memory.
Features
- Shape Drawing: Circles, rectangles with anti-aliasing
- Text Rendering: GPU-accelerated text with custom fonts
- Mask Generation: Rounded masks for compositing
- Zero-Copy: Direct GPU memory operations via CuPy
Installation
Requirements:
- Python >= 3.12
- CUDA Toolkit 12.x
- NVIDIA GPU with compute capability >= 6.0
pip install pixtreme-draw
Requires pixtreme-core, pixtreme-filter, and CUDA Toolkit 12.x.
Quick Start
import pixtreme_draw as pd
import pixtreme_core as px
# Read image
img = px.imread("input.jpg")
# Draw filled circle
img = pd.circle(img, center_x=256, center_y=256, radius=100, color=(0.0, 1.0, 0.0))
# Draw filled rectangle
img = pd.rectangle(img, top_left_x=100, top_left_y=100, bottom_right_x=300, bottom_right_y=300, color=(1.0, 0.0, 0.0))
# Add text label with background
img = pd.add_label(img, text="Hello World", org=(50, 50), color=(1.0, 1.0, 1.0))
# Save result
px.imwrite("output.jpg", img)
API
Shape Drawing
# Circle (filled)
pd.circle(image, center_x, center_y, radius, color=(1.0, 1.0, 1.0))
# Rectangle (filled)
pd.rectangle(image, top_left_x, top_left_y, bottom_right_x, bottom_right_y, color=(1.0, 1.0, 1.0))
Text Rendering
# Simple text
pd.put_text(image, text, org, font_face=cv2.FONT_HERSHEY_SIMPLEX, font_scale=1.0, color=(1.0, 1.0, 1.0), thickness=2)
# Text with background label
pd.add_label(image, text, org=(0, 0), font_scale=1.0, color=(1.0, 1.0, 1.0), label_color=(0.0, 0.0, 0.0))
Mask Generation
# Rounded mask for compositing
mask = pd.create_rounded_mask(dsize=(512, 512), radius_ratio=0.1, blur_size=0, sigma=1.0)
License
MIT License - see LICENSE file for details.
Links
- Repository: https://github.com/sync-dev-org/pixtreme
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pixtreme_draw-0.8.3.tar.gz.
File metadata
- Download URL: pixtreme_draw-0.8.3.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1161839006dd899768805c33a120d11503c27398dc6d34885a3ae4031f51732
|
|
| MD5 |
2619e58db929e7b37bcf6fb9a4c7be91
|
|
| BLAKE2b-256 |
806932c6b08193c4461a1af62cb92e3b7b7d1cf9c3667b83c7b7c8ee9c28a7c0
|
File details
Details for the file pixtreme_draw-0.8.3-py3-none-any.whl.
File metadata
- Download URL: pixtreme_draw-0.8.3-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2629b2a4718886cdae2d344737f88e18b5cc71b6bd6f1dd24aec5e8271de6846
|
|
| MD5 |
d2b06a080460d60a6c4b1c4aa5ace465
|
|
| BLAKE2b-256 |
60dc97b26b0b722245e572d5902c4897a9a0a100595bf934fb6335b447bcc2c9
|