Repository navigation
v0.0.4
Added
- New Effect:
Effect.stroke()- Professional-quality stroke/outline using Jump Flood Algorithm (JFA)position='outside'- Stroke extends outward from shapeposition='inside'- Stroke extends inward into shapeexpandparameter - Control canvas expansion (consistent withdrop_shadowandrotate)- Perfect antialiasing with sub-pixel precision
- Works flawlessly with complex shapes (holes, islands, rounded corners)
- Buffer reuse support for efficient batch processing
- New Effect:
Effect.vignette()- Apply vignette effect to darken or colorize image edgesradiusparameter - Control where darkening begins (0.0-1.0+)softnessparameter - Control gradient falloff smoothnesscolorparameter - Customize vignette color for creative effects- In-place modification for memory efficiency
- New Filter:
Filter.sepia()- Apply warm sepia tone for vintage/antique lookintensityparameter - Control blend from original to full sepia (0.0-1.0)- In-place modification for memory efficiency
- New Filter:
Filter.invert()- Create photographic negative effect- Inverts all RGB colors while preserving alpha
- In-place modification
- New Filter:
Filter.threshold()- Convert to pure black and whitevalueparameter - Luminance threshold (0.0-1.0)- Creates stark binary images
- In-place modification
- New Filter:
Filter.solarize()- Psychedelic/retro effectthresholdparameter - Inverts only bright pixels (0.0-1.0)- Creates distinctive vintage poster look
- In-place modification
- New Filter:
Filter.sobel()- Edge detection using Sobel operator- Returns black and white edge map
- Useful for computer vision and artistic effects
- Buffer reuse support
- New Filter:
Filter.emboss()- 3D relief/raised appearance effectstrengthparameter - Control emboss intensity- Creates carved or pressed appearance
- Buffer reuse support
- New Adjust:
Adjust.opacity()- Control image transparencyfactorparameter - Multiply alpha channel (0.0-1.0+)- Perfect for fade effects, watermarks, and layering
- In-place modification for memory efficiency
- New Fill:
Fill.checkerboard()- Generate checkerboard patternssizeparameter - Control square sizeoffset_x,offset_y- Shift pattern position- Perfect for backgrounds and transparency indicators
- New Fill:
Fill.grid()- Generate grid patternsspacingandline_widthparameters- Customizable line and background colors
- Useful for rulers, guides, and graph paper effects
- New Fill:
Fill.stripes()- Generate striped patterns with anti-aliasingangleparameter - Rotate stripes (0-360°)spacingandwidthparameters- Smooth anti-aliased edges
- New Fill:
Fill.dots()- Generate polka dot patternsspacingandradiusparameterssoftnessparameter - Control edge softness (0.0 = hard, 1.0 = soft glow)- Perfect for textures and decorative backgrounds
- New Fill:
Fill.circle()- Fill with centered circle- Automatically fits to image size
softnessparameter - Control edge gradient- Useful for vignettes and spotlight effects
- New Fill:
Fill.noise()- Generate white noiseseedparameter - Animate noise by changing seedmonochromeparameter - Grayscale or RGB noise- Perfect for film grain and texture effects
- New Fill:
Fill.perlin()- Generate Perlin noise (gradient noise)scaleparameter - Control feature sizeoctavesparameter - Add detail layers (1 = smooth, 6 = rocky)persistenceandlacunarity- Fine-tune noise characteristics- Perfect for clouds, terrain, organic textures
- New Fill:
Fill.ngon()- Generate regular polygonssidesparameter - Number of sides (3+ for triangle, pentagon, hexagon, etc.)rotationparameter - Rotate polygon anglesoftnessparameter - Control edge softness (0.0 = hard AA, >0.0 = glow)- Perfect for geometric shapes and design elements
Changed
- Renamed internal function
colorize_shadow_f32→colorize_alpha_mask_f32for better clarity (internal API only, no breaking changes)
All new operations include:
- Comprehensive examples with visual comparisons
Full Docs: https://offerrall.github.io/pyimagecuda/