huepaper/README.md

135 lines
4.7 KiB
Markdown
Raw Normal View History

2020-05-09 01:47:22 +03:00
# huepaper - a colorful wallpaper generator
![Logo](./images/logo.png)
2020-05-09 00:07:00 +03:00
2020-05-09 13:25:13 +03:00
**huepaper** creates colorful wallpapers, using the [HSL color
space](https://en.wikipedia.org/wiki/HSL_and_HSV). It is based on
[**colour**](https://github.com/vaab/colour) and
[**pillow**](https://python-pillow.org/).
Every *huepaper* is randomly generated and therefore truly unique. Let
randomness bring a little color in your life.
2020-05-09 01:01:28 +03:00
You can find [examples](#examples) below.
2020-05-09 00:07:00 +03:00
2020-05-09 00:08:16 +03:00
## Installation
2020-05-09 00:07:00 +03:00
Until now there is no install method, just ways to call the script.
### NixOS
Call `nix-shell` in the project directory. This will drop you into a
python environment with all necessary requirements.
### LegacyOS
Install the python requirements with `pip install -r requirements.txt`.
## Usage
usage: huepaper.py [-h] [-W WIDTH] [-H HEIGHT] [-c COLOR] [-p] [-o OUTPUT]
[-l [LINES]] [-lb [LINES_BRIGHT]] [-ld [LINES_DARK]]
[-P PIXELATE] [-e EMBLEM] [-hue HUE] [-smin SMIN]
[-smax SMAX] [-lmin LMIN] [-lmax LMAX]
Create wallpapers based on color hues.
optional arguments:
-h, --help show this help message and exit
-W WIDTH, --width WIDTH
2020-05-09 13:57:07 +03:00
width of huepaper (default: 1920)
2020-05-09 00:07:00 +03:00
-H HEIGHT, --height HEIGHT
2020-05-09 13:57:07 +03:00
height of huepaper (default: 1080)
2020-05-09 00:07:00 +03:00
-c COLOR, --color COLOR
2020-05-09 13:57:07 +03:00
color, the huepaper is generated from (uses a random
2020-05-09 00:07:00 +03:00
color if not given)
2020-05-09 13:57:07 +03:00
-p, --preview preview huepaper
2020-05-09 00:07:00 +03:00
-o OUTPUT, --output OUTPUT
2020-05-09 13:57:07 +03:00
file where to save the huepaper to (default: None)
2020-05-09 00:07:00 +03:00
-l [LINES], --lines [LINES]
include one to three random lines in base color with
2020-05-09 14:44:32 +03:00
given opacity in range [0, 1] (default: 0.3)
2020-05-09 00:07:00 +03:00
-lb [LINES_BRIGHT], --lines_bright [LINES_BRIGHT]
include one to three bright random lines with given
opacity in range [0, 1] (default: 0.1)
-ld [LINES_DARK], --lines_dark [LINES_DARK]
include one to three dark random lines with given
opacity in range [0, 1] (default: 0.1)
-P PIXELATE, --pixelate PIXELATE
pixelate image (e.g. 42x42)
-e EMBLEM, --emblem EMBLEM
2020-05-09 13:57:07 +03:00
emblem to add in the center of the huepaper
2020-05-09 00:07:00 +03:00
-hue HUE maximum hue to differ from given color in range [0, 1]
(default: 0.1)
-smin SMIN minimum satisfaction for colors in range [0, 1]
(default: 0.2)
-smax SMAX maximum satisfaction for colors in range [0, 1]
(default: 1.0)
-lmin LMIN minimum luminance for colors in range [0, 1] (default:
0.2)
-lmax LMAX maximum luminance for colors in range [0, 1] (default:
0.9)
All image operations are called in order of the help file. E.g. pixelate
(`-P`) is called after adding lines (`-l`).
2020-05-09 01:08:22 +03:00
If you set the color via `-c` it is not guaranteed, that it is included
in the huepaper. Colors, similar to the given one are chosen. You can
specify how far the colors differ in the hue range with the `-hue`
parameter. Valid color expressions are e.g. `#F5F5DC`, `#0f0`, `red`.
Make sure, that colors beginning with a `#` are encapsulated in quotes
(`"`). All supported color names can be seen
[here](https://www.w3schools.com/colors/colors_names.asp).
If you use the `-e` argument to specify an emblem, make sure it has the
right size. It is not scaled or stretched, just placed in the center of
the image. If you want an offset, e.g. put it in the left bottom corner,
provide an emblem file with the size of the huepaper, transparent
background and your emblem in the bottom left corner.
2020-05-09 00:22:04 +03:00
2020-05-09 00:13:58 +03:00
## Examples
2020-05-09 01:08:22 +03:00
Please note, that every huepaper call generates a new random image. You
will never get the same huepaper twice. You may like some and dislike
others. Fiddle around with the options to find a result, you are happy
with.
2020-05-09 01:01:28 +03:00
2020-05-09 00:22:04 +03:00
![Huepaper 1](./images/huepaper_1.png)
`huepaper.py -p`
2020-05-09 01:08:22 +03:00
-----
2020-05-09 00:22:04 +03:00
2020-05-09 00:41:50 +03:00
![Huepaper 2](./images/huepaper_2.png)
2020-05-09 00:22:04 +03:00
2020-05-09 00:41:50 +03:00
`huepaper.py -p -c lightgreen`
2020-05-09 01:08:22 +03:00
-----
2020-05-09 00:41:50 +03:00
![Huepaper 3](./images/huepaper_3.png)
2020-05-09 10:20:33 +03:00
`huepaper.py -p -c "#ff7f50" -lb 0.05`
2020-05-09 00:41:50 +03:00
2020-05-09 01:08:22 +03:00
-----
2020-05-09 00:41:50 +03:00
![Huepaper 4](./images/huepaper_4.png)
`huepaper.py -p -hue 1.0 -lmin 0.3 -lmax 0.6 -smin 0.8 -smax 1.0`
2020-05-09 01:08:22 +03:00
-----
2020-05-09 00:41:50 +03:00
![Huepaper 5](./images/huepaper_5.png)
2020-05-09 01:01:28 +03:00
`huepaper.py -p -hue 0.3 -lmin 0.5 -lmax 0.5 -l 0.5 -P 64x36`
2020-05-09 00:41:50 +03:00
2020-05-09 01:08:22 +03:00
-----
2020-05-09 00:41:50 +03:00
![Huepaper 6](./images/huepaper_6.png)
`huepaper.py -p -l -lb -ld -e nixos.png`
2020-05-09 00:13:58 +03:00
2020-05-09 00:07:00 +03:00
## Acknowledgements
Thanks to all the people who created the nice software, this project in
based on.