Skip to content

luc-constantin/Filter-image-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Filter-image-App

Image Filter APP

Live Demo

https://luc-constantin.github.io/Filter-image-App/


Overview

This project began as a simple JavaScript image filter tool and has since been significantly modernized. It now includes a redesigned upload experience, additional filters, responsive interface upgrades, theme detection, improved scaling, and a cleaner overall user experience.


Before vs After Comparison

Before (Original Project)

The initial version included:

  • A basic upload button
  • No drag-and-drop support
  • Unstyled buttons
  • No theme system
  • No image scaling (large images overflowed the page)
  • Only 7 filters
  • No option to remove the uploaded photo
  • Very limited user interface and interaction

After (Modern Enhanced Version)

The upgraded version now includes:

  • A drag-and-drop upload system with visual feedback
  • Auto-scaling image logic to keep images inside the frame
  • A redesigned, responsive interface
  • 12 filters in total, including new enhancements
  • A color-coded button system
  • Glass-style UI elements
  • Dark/Light theme detection
  • A manual theme toggle
  • A new "Remove Photo" feature with validation
  • A cleaner filter engine and more modular JavaScript
  • A centered upload overlay that hides automatically on image load

The transformation elevates the project from a simple demo into a polished, production-quality tool.


Enhancements and Additions

Image Upload System

  • Drag & Drop support
  • Centered and polished upload zone
  • Overlay hides once image is loaded
  • Image automatically fits inside the visible frame
  • Prevents overflow, stretching, or distorted scaling

New Filters Added

Along with improving the original ones, the following filters were introduced:

  • Smart Invert (improved version)
  • Preserve Primary Colors
  • Color Boost
  • High Contrast
  • Blue Tone

UI and UX Improvements

Button Design

  • Glass-style rounded buttons

  • Smooth hover transitions

  • Color coding for main actions

    • Clear = blue
    • Download = green
    • Remove Photo = red
  • Compact theme toggle button

  • Improved spacing and alignment

Layout

  • Completely reorganized sidebar
  • Responsive mobile behavior
  • Canvas and upload frame aligned and centered
  • Cleaner typography and spacing

Theme System

Automatic Theme Detection

The interface now matches the user's system preference. A popup displays the detected theme for a few seconds when the app loads.

Manual Theme Toggle

Users can switch between dark and light themes at any time.

CSS Architecture

  • Uses modern CSS variables for color themes
  • Much easier to maintain and extend

Functional Improvements

Remove Photo

  • Asks for confirmation before deletion
  • If there is no photo loaded, displays a notification

Clear

  • Resets filters without removing the image

Download

  • Saves filtered output as a PNG file

Drag & Drop Support

  • Full drag-and-drop for image upload
  • Visual hover feedback
  • Supports pointer and touch inputs

JavaScript Improvements

  • Unified filter pipeline using a shared applyFilter() function
  • Channel-swapping functions rewritten more safely
  • Updated image redraw logic with correct scaling
  • Button events properly bound and mapped
  • Upload logic modernized for clarity and reliability

Original Project Credit

This project is based on an original idea by Chris Dixon (@chrisdixon161) Reference: https://fun-javascript-projects.com/


Modernization, Redesign, and Further Development

Luc (accolades.dev)

About

Web App to filter your images

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors