Pigment is an Android app that generates color palettes from your photos. You can either take a new picture or choose one from your gallery. The app then displays the dominant colors from the image, and you can tap on any color to see its HEX, RGB, and HSL codes.
No followers yet
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
I updated the app's UI, moving everything to Material 3 to give it a modern and polished feel. The core logic was updated to use the androidx.palette library not just to pull a palette, but to analyze the image and find the single most dominant color.
For the UI, this dominant color is now used to dynamically theme the entire app. When you select an image, the app's colors, from the buttons to the background, regenerate to match the photo's aesthetic. I rebuilt the main screen using a Scaffold and replaced the old buttons with a ModalBottomSheet for a cleaner image selection experience.
Next up, I'm going to build a real-time color generation feature. The idea is to use the camera to constantly analyze the environment and display a live palette. From there, users will be able to lock colors they like, saving them one by one until they've built an entire custom palette from the world around them.
I started by setting up image selection, allowing the user to either snap a
photo with the camera or pick one from the gallery. The core logic uses the androidx.palette library to analyze the selected image and pull out the six most dominant colors. I spent some time refining this, making sure to sort the extracted swatches by population to get the most relevant palette.
For the UI, the palette is displayed in a simple Row beneath the image. I made each color swatch tappable, which brings up a dialog showing the detailed HEX, RGB, and HSL values.
Next up, I've started working on a lock feature. The idea is to let users lock a color they like in the palette and then regenerate the other colors around it.