Skip to content

daniel-seiler/ImageTheming

Repository files navigation

ImageTheming

Change the color palette of an image to match your theme.

Getting Started

Use java -jar path/to/ImageTheming.jar -h to get all available options that can/need to be set, to generate an image. There must always be exactly one path and one theme for the program to work. An error message will appear if some options are set incorrect. Simple example:

java -jar ImageTheming.jar https://avatars.githubusercontent.com/u/73987329\?v\=4 --theme=omni

This will select the image from the link (a path instead of a link is also possible) and select the color scheme to be Omni.

Original New image with Omni theme

Selecting a theme

You can either use a config file or a premade theme to select the colors.
If a file is selected, all hex numbers with the length of 6 are used as colors.
If you want to use a premade theme, choose a color scheme from these files (without the .sh extension). Example: OneDark -> one-dark.sh -> ... -t=one-dark or -t=.config/colors

Why

Ever wanted to use a wallpaper, but it didn't match your color theme?

What to expect

This program will take an image and a theme from Gogh as minimal input. It then tries to match each pixel with a color from the given theme. The output is color-wise a downscaled version of the original image. Because of this, the best results can be achieved with images that have little to no blur, high resolution and clear defined lines. If you're going to watch all day at a generated image (wallpaper), you may want to edit the generated images afterwards in GIMP/similar software.

To compare quality, here you have some examples. Keep in mind these are fairly zoomed in:

original nord solarized-dark maia

How to build

This will create the executable JAR file in build/libs/ImageTheming.jar

About

Match a wallpaper to your color scheme

Resources

License

Stars

Watchers

Forks

Languages