Palette Pal is a React-based web app designed to help developers and designers create color palettes based on images. The app breaks down an image into its constituent pixels, projects them into RGB color space, and uses a K-means clustering algorithm to generate a specified number of colors representing the image. Users can customize the number of colors in their palette and copy the corresponding hex codes for use in their design projects.
for backend repo, visit here
- Upload and process images to extract color palettes
- K-means clustering algorithm for grouping similar colors
- User-customizable number of colors in the palette
- Copy hex codes of generated colors
- Client-side implementation
- Responsive design for mobile and desktop devices
- Users upload an image to the web app.
- The app processes the image, breaking it down into its constituent pixels.
- The pixels are projected into RGB color space.
- A K-means clustering algorithm is used to cluster similar pixels.
- The user can select the number of colors they want in their palette.
- The app generates the specified number of colors to represent the image.
- Users can copy the corresponding hex codes for use in their design projects.
I welcome contributions from developers who are interested in improving Palette Pal! Here are some of the current updates we are looking for:
-
Color Harmonization: Implement an algorithm to suggest harmonious color schemes based on the generated palette, utilizing principles from color theory.
-
Palette Export: Enable users to export their generated color palettes to various formats like JSON, XML, or directly to CSS/SCSS variables.
-
Image Filters: Add pre-processing filters that users can apply to images before generating palettes, such as grayscale, sepia, etc.
-
Machine Learning Optimization: Explore the use of machine learning models to improve the efficiency and accuracy of the K-means clustering algorithm.
- Fork the repository on GitHub.
- Clone the forked repository to your local machine. bash
git clone https://github.com/yourusername/Palette-Pal.git
- Install the required dependencies.
npm install
- Start the development server. sql
npm start
You can now view the app by navigating to http://localhost:3000 in your browser.
- Create a new branch for your feature or bugfix.
git checkout -b feature/your-feature-name
2. Make your changes and test them thoroughly.
3. Commit and push your changes to your forked repository.
git add .
git commit -m "Add your commit message here"
git push origin feature/your-feature-name
4. Open a pull request on the original repository with a clear description of the changes you have made and any additional information that may be relevant.
Once your pull request has been reviewed, we will either merge your changes or provide feedback for further improvements.
Thank you for your interest in contributing to Palette Pal!