From d1b4249c32bddd9c416e6d11a06a2acb221b7e17 Mon Sep 17 00:00:00 2001 From: Denis Lehmann Date: Sat, 9 May 2020 09:26:11 +0200 Subject: [PATCH 01/10] update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2870989..0bac8a7 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ ![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. +**huepaper** creates wallpapers based on color hues. +Every *huepaper* is randomly generated and therefore truly unique. +Let randomness bring a little color in your life. You can find [examples](#examples) below. From 4f729859885273cabd078831ff7b067165f51fd1 Mon Sep 17 00:00:00 2001 From: Denis Lehmann Date: Sat, 9 May 2020 09:30:15 +0200 Subject: [PATCH 02/10] update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0bac8a7..3243baf 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,8 @@ ![Logo](./images/logo.png) -**huepaper** creates wallpapers based on color hues. +**huepaper** creates wallpapers based on color hues. +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. From 70a7906ca3069e1e014e81917faf932bcfb5a378 Mon Sep 17 00:00:00 2001 From: Denis Lehmann Date: Sat, 9 May 2020 09:50:37 +0200 Subject: [PATCH 03/10] update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3243baf..9d208fa 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ![Logo](./images/logo.png) -**huepaper** creates wallpapers based on color hues. +**huepaper** creates colorful wallpapers, using the [HSL](https://en.wikipedia.org/wiki/HSL_and_HSV) color room. 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. From d28f4544d01776222217d8be02a2385b7e8c857c Mon Sep 17 00:00:00 2001 From: Denis Lehmann Date: Sat, 9 May 2020 12:25:13 +0200 Subject: [PATCH 04/10] update README.md --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 9d208fa..03813fa 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,13 @@ ![Logo](./images/logo.png) -**huepaper** creates colorful wallpapers, using the [HSL](https://en.wikipedia.org/wiki/HSL_and_HSV) color room. -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. +**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. You can find [examples](#examples) below. From 5e6726bb43c2bad9e353ee70a6d026468ad039e7 Mon Sep 17 00:00:00 2001 From: Denis Lehmann Date: Sat, 9 May 2020 12:33:24 +0200 Subject: [PATCH 05/10] update logo --- images/logo.png | Bin 20202 -> 28141 bytes images/logo.svg | 71 ++++++++++++++++-------------------------------- 2 files changed, 23 insertions(+), 48 deletions(-) diff --git a/images/logo.png b/images/logo.png index 27def617fb3b2059a9abd926edc92886dc656c6a..3f728320e0da72c367cd02f205fb2c10c8f1c510 100644 GIT binary patch literal 28141 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 diff --git a/images/logo.svg b/images/logo.svg index da9428b..362aa0c 100644 --- a/images/logo.svg +++ b/images/logo.svg @@ -11,8 +11,8 @@ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="1000" - height="212.5" - viewBox="0 0 264.58333 56.22396" + height="274.914" + viewBox="0 0 264.58333 72.737665" version="1.1" id="svg8" inkscape:version="0.92.4 (5da689c313, 2019-01-14)" @@ -26,33 +26,24 @@ inkscape:collect="always" id="linearGradient825-7"> - + x2="200.93031" + y2="263.02499" /> + units="mm" /> @@ -89,27 +80,11 @@ inkscape:label="Ebene 1" inkscape:groupmode="layer" id="layer1" - transform="translate(0,-240.77602)"> - huepaper - + transform="translate(0,-224.26232)"> + From 1e8791d63b0ef9969d6392298b8207d45efd5fc4 Mon Sep 17 00:00:00 2001 From: Denis Lehmann Date: Sat, 9 May 2020 12:57:07 +0200 Subject: [PATCH 06/10] update usage --- README.md | 12 ++++++------ huepaper.py | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 03813fa..b9d4e1d 100644 --- a/README.md +++ b/README.md @@ -37,15 +37,15 @@ Install the python requirements with `pip install -r requirements.txt`. optional arguments: -h, --help show this help message and exit -W WIDTH, --width WIDTH - width of wallpaper (defaul: 1920) + width of huepaper (default: 1920) -H HEIGHT, --height HEIGHT - height of wallpaper (default: 1080) + height of huepaper (default: 1080) -c COLOR, --color COLOR - color, the wallpaper is generated from (uses a random + color, the huepaper is generated from (uses a random color if not given) - -p, --preview preview wallpaper + -p, --preview preview huepaper -o OUTPUT, --output OUTPUT - file where to save the wallpaper to (default: None) + file where to save the huepaper to (default: None) -l [LINES], --lines [LINES] include one to three random lines in base color with given opacity in range [0, 1] (default: 0.1) @@ -58,7 +58,7 @@ Install the python requirements with `pip install -r requirements.txt`. -P PIXELATE, --pixelate PIXELATE pixelate image (e.g. 42x42) -e EMBLEM, --emblem EMBLEM - emblem to add in the center of the wallpaper + 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 satisfaction for colors in range [0, 1] diff --git a/huepaper.py b/huepaper.py index efc270e..8532a09 100755 --- a/huepaper.py +++ b/huepaper.py @@ -189,16 +189,16 @@ def main(): # Initialize parser parser = argparse.ArgumentParser(description = 'Create wallpapers based on color hues.') - parser.add_argument('-W', '--width', default = 1920, type = int, help = 'width of wallpaper (defaul: 1920)') - parser.add_argument('-H', '--height', default = 1080, type = int, help = 'height of wallpaper (default: 1080)') - parser.add_argument('-c', '--color', help = 'color, the wallpaper is generated from (uses a random color if not given)') - parser.add_argument('-p', '--preview', action = 'store_true', help = 'preview wallpaper') - parser.add_argument('-o', '--output', help = 'file where to save the wallpaper to (default: None)') + parser.add_argument('-W', '--width', default = 1920, type = int, help = 'width of huepaper (default: 1920)') + parser.add_argument('-H', '--height', default = 1080, type = int, help = 'height of huepaper (default: 1080)') + parser.add_argument('-c', '--color', help = 'color, the huepaper is generated from (uses a random color if not given)') + parser.add_argument('-p', '--preview', action = 'store_true', help = 'preview huepaper') + parser.add_argument('-o', '--output', help = 'file where to save the huepaper to (default: None)') parser.add_argument('-l', '--lines', nargs = '?', const = 0.1, type = float, help = 'include one to three random lines in base color with given opacity in range [0, 1] (default: 0.1)') parser.add_argument('-lb', '--lines_bright', nargs = '?', const = 0.1, type = float, help = 'include one to three bright random lines with given opacity in range [0, 1] (default: 0.1)') parser.add_argument('-ld', '--lines_dark', nargs = '?', const = 0.1, type = float, help = 'include one to three dark random lines with given opacity in range [0, 1] (default: 0.1)') parser.add_argument('-P', '--pixelate', help = "pixelate image (e.g. 42x42)") - parser.add_argument('-e', '--emblem', help = 'emblem to add in the center of the wallpaper') + parser.add_argument('-e', '--emblem', help = 'emblem to add in the center of the huepaper') parser.add_argument('-hue', default = 0.1, type = float, help = 'maximum hue to differ from given color in range [0, 1] (default: 0.1)') parser.add_argument('-smin', default = 0.2, type = float, help = 'minimum satisfaction for colors in range [0, 1] (default: 0.2)') parser.add_argument('-smax', default = 1.0, type = float, help = 'maximum satisfaction for colors in range [0, 1] (default: 1.0)') From 417b5efdccd4cfacf90bfbf5af8cb278e3011f75 Mon Sep 17 00:00:00 2001 From: Denis Lehmann Date: Sat, 9 May 2020 13:26:16 +0200 Subject: [PATCH 07/10] add logo --- huepaper.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/huepaper.py b/huepaper.py index 8532a09..d2104a7 100755 --- a/huepaper.py +++ b/huepaper.py @@ -8,6 +8,21 @@ from colour import Color from PIL import Image, ImageDraw, ImageOps +def print_logo(): + logo = ''' + .lk. + cO. + cO.;:lc. ,c. .cc .,',c; .,c.;coc. ;,.,c. ':l.:lo: '',:c. '::.lo. + cO' kd .O; dO ,x...,Ox cO; lO: ;x xk OO. .kO. x;...x0' 0x. . + cO. xx .O; dO ko...... :O. Ox .,..xO kk ;0;;0...... 0d + cO. xx .O; xO dO. .. :O. .O; dk xO kk :O.'0o , 0d + .dk, .kk. okc;,ox' ckxllc. :Oc'.,l' oOl;'dO:. kO;..:l. ,xOolc; ,Ox. + :O. kk + lO, OO + OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO00O0000000000000000; +'''; + print(logo) + # Get base color def get_base_color(color_string = None): @@ -235,6 +250,7 @@ def main(): parser.error('Pixelation value must be set in form: 42x42') # Main routine + print_logo() base_color = get_base_color(color) c1, c2, c3, c4 = create_colors(base_color) image = create_base_image(c1, c2, c3, c4) From 200a85335ceee5fa6c2b3baa40a8e86aecfd45b5 Mon Sep 17 00:00:00 2001 From: Denis Lehmann Date: Sat, 9 May 2020 13:32:13 +0200 Subject: [PATCH 08/10] set image mode to RGB on save --- huepaper.py | 1 + 1 file changed, 1 insertion(+) diff --git a/huepaper.py b/huepaper.py index d2104a7..de87a41 100755 --- a/huepaper.py +++ b/huepaper.py @@ -183,6 +183,7 @@ def save_image(filepath, image): stop = False while not stop: try: + image.mode = 'RGB' image.save(filepath) stop = True except Exception as e: From 85e3c3638148766e27ae2decbb007f8da06f9624 Mon Sep 17 00:00:00 2001 From: Denis Lehmann Date: Sat, 9 May 2020 13:34:11 +0200 Subject: [PATCH 09/10] set image mode before preview --- huepaper.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/huepaper.py b/huepaper.py index de87a41..4270b1a 100755 --- a/huepaper.py +++ b/huepaper.py @@ -183,7 +183,6 @@ def save_image(filepath, image): stop = False while not stop: try: - image.mode = 'RGB' image.save(filepath) stop = True except Exception as e: @@ -269,6 +268,8 @@ def main(): if emblem: image = add_emblem(image, emblem) + image.mode = 'RGB' + if preview: image.show() if not output: From 36f673963e46440b6c7103fd8c7127a1b1251c1d Mon Sep 17 00:00:00 2001 From: Denis Lehmann Date: Sat, 9 May 2020 13:44:32 +0200 Subject: [PATCH 10/10] increase default value for lines --- README.md | 2 +- huepaper.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b9d4e1d..7dce2a5 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ Install the python requirements with `pip install -r requirements.txt`. file where to save the huepaper to (default: None) -l [LINES], --lines [LINES] include one to three random lines in base color with - given opacity in range [0, 1] (default: 0.1) + 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) diff --git a/huepaper.py b/huepaper.py index 4270b1a..c3152c7 100755 --- a/huepaper.py +++ b/huepaper.py @@ -209,7 +209,7 @@ def main(): parser.add_argument('-c', '--color', help = 'color, the huepaper is generated from (uses a random color if not given)') parser.add_argument('-p', '--preview', action = 'store_true', help = 'preview huepaper') parser.add_argument('-o', '--output', help = 'file where to save the huepaper to (default: None)') - parser.add_argument('-l', '--lines', nargs = '?', const = 0.1, type = float, help = 'include one to three random lines in base color with given opacity in range [0, 1] (default: 0.1)') + parser.add_argument('-l', '--lines', nargs = '?', const = 0.3, type = float, help = 'include one to three random lines in base color with given opacity in range [0, 1] (default: 0.3)') parser.add_argument('-lb', '--lines_bright', nargs = '?', const = 0.1, type = float, help = 'include one to three bright random lines with given opacity in range [0, 1] (default: 0.1)') parser.add_argument('-ld', '--lines_dark', nargs = '?', const = 0.1, type = float, help = 'include one to three dark random lines with given opacity in range [0, 1] (default: 0.1)') parser.add_argument('-P', '--pixelate', help = "pixelate image (e.g. 42x42)")