A powerful web-based image filter editor designed specifically for creating custom filters for First Million cameras. This application allows users to create, preview, and export custom image filters with real-time adjustments and professional-grade image processing capabilities.
- Live Preview: See filter effects applied instantly as you adjust parameters
- Multiple Image Support: Upload and process your own images
- High-Quality Processing: Built on Fabric.js for professional image manipulation
- Color Channels: Independent Red, Green, and Blue channel adjustments
- Brightness & Contrast: Fine-tune image exposure and contrast levels
- Saturation Control: Adjust color intensity and vibrancy
- Gamma Correction: Precise color curve adjustments
- Save Custom Filters: Create and save your own filter presets
- Load Existing Filters: Import previously saved filter configurations
- Filter Library: Access to pre-built filter presets (Film, Movie, Retro, etc.)
- Export Functionality: Download filters as .fltfiles for camera use
- Original: Clean, unmodified image
- Film: Classic film photography look
- Movie: Cinematic color grading
- Retro: Vintage aesthetic
- Gray: Monochrome conversion
- Relief: High contrast relief effect
- Sharp: Enhanced sharpness and clarity
- Cold Color: Cool temperature adjustment
- Fade: Soft, desaturated look
- Modern web browser (Chrome, Firefox, Safari, Edge)
- No additional software installation required
- Clone or download this repository
- Open index.htmlin your web browser
- Start creating custom filters!
- Upload an Image: Click on the main image area to upload your photo
- Adjust Parameters: Use the sliders to modify:
- Red, Green, Blue channels
- Brightness and Contrast
- Saturation levels
 
- Preview Effects: See real-time changes in the main canvas
- Save Filter: Click "Save Filter" to create a custom preset
- Export: Download the filter as a .fltfile for camera use
- Fabric.js: Canvas manipulation and image processing
- HTML5 Canvas: High-performance image rendering
- Vanilla JavaScript: Lightweight, dependency-free implementation
- CSS3: Modern, responsive styling
Filters are saved in a custom .flt format with the following structure:
C00,<red>,C10,<green>,C20,<blue>,C01,<brightness>,C11,<contrast>,C21,<saturation>,C02,<wb>,C12,<ev>,CRC
Where each parameter ranges from 0-100:
- Red/Green/Blue: Color channel intensity (0-100)
- Brightness: Image brightness (0-100)
- Contrast: Image contrast (0-100)
- Saturation: Color saturation (0-100)
- WB: White balance (currently unused)
- EV: Exposure value (currently unused)
img-filter/
├── index.html              # Main application interface
├── index.js               # Core application logic
├── myfilter.js            # Filter processing engine
├── script.js              # Fabric.js integration
├── slider_*.js            # Individual slider controls
├── *.css                  # Styling files
├── img/                   # Sample images and assets
├── defaultFlt/            # Pre-built filter presets
└── README.md              # This file
- Create custom color grading presets
- Test filter effects before applying to camera
- Develop signature editing styles
- Generate custom filters for your camera
- Share filter configurations with others
- Experiment with different photographic styles
- Integrate filter functionality into other applications
- Learn about real-time image processing
- Extend with additional filter types
- Create a new slider control file (following slider_*.jspattern)
- Add corresponding HTML elements in index.html
- Update the filter processing logic in myfilter.js
- Modify the export format if needed
- Edit index.cssfor main layout changes
- Modify slider.cssfor slider appearance
- Update ymModal.cssfor modal dialogs
- ✅ Chrome 60+
- ✅ Firefox 55+
- ✅ Safari 12+
- ✅ Edge 79+
We welcome contributions! Please feel free to:
- Report bugs and issues
- Suggest new features
- Submit pull requests
- Improve documentation
This project is open source and available under the MIT License.
- Fabric.js for powerful canvas manipulation
- First Million for inspiring this filter editor
- Open source community for continuous support
Ready to create amazing custom filters? Open index.html in your browser and start experimenting! 🎨✨