Lightweight cross-platform tool and library for adding stunning glow and enhancement effects to images
SnapGlow is a powerful yet lightweight image enhancement tool designed for quick prototyping, batch processing, and seamless integration into larger image-processing pipelines. Whether you're enhancing photos for social media, creating visual effects, or building an automated image processing workflow, SnapGlow provides the tools you need with minimal overhead.
|
|
git clone https://github.com/<your-org>/SnapGlow.git
cd SnapGlowNode.js / JavaScript Setup
```bash # Install dependencies npm installnpm run build
npm link
</details>
<details>
<summary><b>Python Setup</b></summary>
```bash
# Create virtual environment
python -m venv .venv
# Activate virtual environment
# On macOS/Linux:
source .venv/bin/activate
# On Windows:
.venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Install in development mode
pip install -e .
# Apply default glow to a single image
snapglow input.jpg output.jpg --glow 0.6 --radius 30
# Batch process an entire directory
snapglow --input ./photos --output ./processed --glow 0.5
# Apply multiple effects
snapglow input.jpg output.jpg --glow 0.7 --brightness 1.2 --saturation 1.1
# Use custom blend mode
snapglow input.jpg output.jpg --glow 0.8 --blend-mode screenJavaScript Example
```javascript const { applyGlow, applyEffects } = require("snapglow");// Simple glow effect await applyGlow("input.jpg", "output.jpg", { strength: 0.6, radius: 30 });
// Multiple effects await applyEffects("input.jpg", "output.jpg", { glow: { strength: 0.6, radius: 30 }, brightness: 1.2, contrast: 1.1, saturation: 1.05 });
</details>
<details>
<summary><b>Python Example</b></summary>
```python
from snapglow import apply_glow, apply_effects
# Simple glow effect
apply_glow('input.jpg', 'output.jpg', strength=0.6, radius=30)
# Multiple effects
apply_effects('input.jpg', 'output.jpg',
glow={'strength': 0.6, 'radius': 30},
brightness=1.2,
contrast=1.1,
saturation=1.05
)
| Parameter | Type | Range | Default | Description |
|---|---|---|---|---|
strength |
float | 0.0 - 1.0 | 0.5 | Glow effect intensity |
radius |
integer | 1 - 100 | 25 | Glow radius in pixels |
blend_mode |
string | normal / screen / add | screen | Blending mode for glow effect |
brightness |
float | 0.0 - 2.0 | 1.0 | Brightness adjustment |
contrast |
float | 0.0 - 2.0 | 1.0 | Contrast adjustment |
saturation |
float | 0.0 - 2.0 | 1.0 | Saturation adjustment |
Create a snapglow.config.json or snapglow.config.yaml:
JSON Example:
{
"glow": {
"strength": 0.6,
"radius": 30,
"blend_mode": "screen"
},
"adjustments": {
"brightness": 1.1,
"contrast": 1.05,
"saturation": 1.1
}
}YAML Example:
glow:
strength: 0.6
radius: 30
blend_mode: screen
adjustments:
brightness: 1.1
contrast: 1.05
saturation: 1.1Run the test suite to ensure everything works correctly:
# Node.js
npm test
# Python
pytest
# With coverage
npm run test:coverage # or: pytest --covWe welcome contributions from the community! Here's how you can help:
- 🐛 Report Bugs: Open an issue with detailed reproduction steps
- 💡 Suggest Features: Discuss major changes in an issue first
- 🔧 Submit PRs:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow the existing code style
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting
📖 See CONTRIBUTING.md for detailed guidelines
SnapGlow/
├── src/
│ ├── core/ # Core image processing algorithms
│ ├── filters/ # Glow and enhancement filters
│ ├── cli/ # Command-line interface
│ └── api/ # Programmatic API
├── plugins/ # Plugin system for extensions
├── tests/ # Unit and integration tests
├── docs/ # Documentation
└── examples/ # Usage examples
- 🚀 Fast Processing: Optimized algorithms for quick results
- 💾 Low Memory: Efficient memory usage even with large images
- 📦 Small Footprint: Minimal dependencies for easy deployment
- ⚡ Batch Friendly: Process hundreds of images efficiently
- GPU acceleration support
- Additional blend modes (multiply, overlay, soft light)
- Advanced color grading (curves, levels)
- Real-time preview in CLI
- Web-based GUI
- Docker container support
- Cloud processing API
- Issue Tracker: GitHub Issues
- Discussions: GitHub Discussions
- Email: snapglow@yourorg.com