huepaper/README.md
profitroll 70d0279cb9
All checks were successful
Tests / test (3.10) (push) Successful in 1m10s
Tests / test (3.11) (push) Successful in 1m9s
Tests / test (3.8) (push) Successful in 1m13s
Tests / test (3.9) (push) Successful in 1m12s
Fixed -p and improved coverage
2023-08-10 14:31:33 +02:00

128 lines
4.4 KiB
Markdown

# huepaper - a colorful wallpaper generator
![Logo](images/logo.png)
**huepaper** creates wallpapers based on color hues. Bring a little
color in your life by randomness, because every huepaper is truly
unique.
You can find [examples](#examples) below. For more examples visit the
Mastodon [huebot](https://botsin.space/@huebot).
## Installation
```shell
pip install --index-url https://git.end-play.xyz/api/packages/profitroll/pypi/simple/ huepaper
```
## Usage
```example
usage: huepaper [-h] [--width WIDTH] [--height HEIGHT] [-c COLOR] [-np] [-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
--width WIDTH width of the image (default: 1920)
--height HEIGHT height of the image (default: 1080)
-c COLOR, --color COLOR
base color from which the huepaper is generated (default: random color)
-o OUTPUT, --output OUTPUT
filepath where the huepaper will be saved
-l [LINES], --lines [LINES]
include one to three random lines in base color with given opacity in range [0, 1] (default: 0.3)
-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 with WIDTHxHEIGHT (default: 16x9)
-e EMBLEM, --emblem EMBLEM
emblem to add in the center of the huepaper
-hue HUE maximum hue to differ from given color in range [0, 1] (default: 0.1)
-smin SMIN minimum saturation for colors in range [0, 1] (default: 0.2)
-smax SMAX maximum saturation 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)
```
...or as a Python module
```python
from huepaper import generate
image = generate(width=500, height=500, hue_max=1.0, lum_min=0.3, lum_max=0.6, sat_min=0.8, sat_max=1.0)
```
All image operations are called in order of the help file. E.g. pixelate
(`-p`) is called after adding lines (`-l`).
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`, `ffff80` and
`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 correct 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.
## Examples
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.
![Huepaper 1](images/huepaper_1.png)
``` example
huepaper
```
------------------------------------------------------------------------
![Huepaper 1](images/huepaper_2.png)
``` example
huepaper -c lightgreen
```
------------------------------------------------------------------------
![Huepaper 3](images/huepaper_3.png)
``` example
huepaper -c "#ff7f50" -lb 0.05
```
------------------------------------------------------------------------
![Huepaper 4](images/huepaper_4.png)
``` example
huepaper -hue 1.0 -lmin 0.3 -lmax 0.6 -smin 0.8 -smax 1.0
```
------------------------------------------------------------------------
![Huepaper 5](images/huepaper_5.png)
``` example
huepaper -hue 0.3 -lmin 0.5 -lmax 0.5 -l 0.5 -p 64x36
```
------------------------------------------------------------------------
![Huepaper 6](images/huepaper_6.png)
``` example
huepaper -l -lb -ld -e nixos.png
```