Work on assets. Updated icon
After Width: | Height: | Size: 8.8 KiB |
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 249 B |
After Width: | Height: | Size: 288 B |
After Width: | Height: | Size: 298 B |
After Width: | Height: | Size: 311 B |
After Width: | Height: | Size: 235 B |
After Width: | Height: | Size: 301 B |
After Width: | Height: | Size: 293 B |
After Width: | Height: | Size: 288 B |
Before Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 203 B |
After Width: | Height: | Size: 231 B |
After Width: | Height: | Size: 220 B |
After Width: | Height: | Size: 227 B |
After Width: | Height: | Size: 189 B |
After Width: | Height: | Size: 220 B |
After Width: | Height: | Size: 212 B |
After Width: | Height: | Size: 232 B |
Before Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 170 B |
After Width: | Height: | Size: 182 B |
After Width: | Height: | Size: 189 B |
After Width: | Height: | Size: 189 B |
After Width: | Height: | Size: 161 B |
After Width: | Height: | Size: 188 B |
After Width: | Height: | Size: 189 B |
After Width: | Height: | Size: 183 B |
Before Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 223 B |
After Width: | Height: | Size: 262 B |
After Width: | Height: | Size: 261 B |
After Width: | Height: | Size: 272 B |
After Width: | Height: | Size: 214 B |
After Width: | Height: | Size: 269 B |
After Width: | Height: | Size: 261 B |
After Width: | Height: | Size: 264 B |
Before Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 173 B |
After Width: | Height: | Size: 194 B |
After Width: | Height: | Size: 196 B |
After Width: | Height: | Size: 192 B |
After Width: | Height: | Size: 168 B |
After Width: | Height: | Size: 193 B |
After Width: | Height: | Size: 197 B |
After Width: | Height: | Size: 194 B |
Before Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 296 B |
After Width: | Height: | Size: 363 B |
After Width: | Height: | Size: 338 B |
After Width: | Height: | Size: 361 B |
After Width: | Height: | Size: 307 B |
After Width: | Height: | Size: 355 B |
After Width: | Height: | Size: 338 B |
After Width: | Height: | Size: 366 B |
Before Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 142 B |
After Width: | Height: | Size: 161 B |
After Width: | Height: | Size: 157 B |
After Width: | Height: | Size: 166 B |
After Width: | Height: | Size: 140 B |
After Width: | Height: | Size: 163 B |
After Width: | Height: | Size: 156 B |
After Width: | Height: | Size: 161 B |
Before Width: | Height: | Size: 724 B After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 681 B After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 947 B |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 926 B |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 970 B |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 955 B |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 1.3 KiB |
|
@ -0,0 +1,52 @@
|
|||
# Tool used to generate assets like bullets
|
||||
|
||||
from sys import argv
|
||||
from os import listdir, remove
|
||||
from os.path import isfile, join
|
||||
from PIL import Image
|
||||
import numpy as np
|
||||
import colorsys
|
||||
|
||||
###############################################################################
|
||||
# Snippet from https://stackoverflow.com/questions/7274221/changing-image-hue-with-python-pil
|
||||
def shift_hue(arr, hout):
|
||||
rgb_to_hsv = np.vectorize(colorsys.rgb_to_hsv)
|
||||
hsv_to_rgb = np.vectorize(colorsys.hsv_to_rgb)
|
||||
r, g, b, a = np.rollaxis(arr, axis=-1)
|
||||
h, s, v = rgb_to_hsv(r, g, b)
|
||||
h = hout
|
||||
r, g, b = hsv_to_rgb(h, s, v)
|
||||
arr = np.dstack((r, g, b, a))
|
||||
return arr
|
||||
|
||||
def colorize(image, hue):
|
||||
"""
|
||||
Colorize PIL image `original` with the given
|
||||
`hue` (hue within 0-360); returns another PIL image.
|
||||
"""
|
||||
img = image.convert('RGBA')
|
||||
arr = np.array(np.asarray(img).astype('float'))
|
||||
new_img = Image.fromarray(shift_hue(arr, hue/360.).astype('uint8'), 'RGBA')
|
||||
|
||||
return new_img
|
||||
###############################################################################
|
||||
|
||||
# Make images
|
||||
if "make" in argv:
|
||||
dir = "./assets-cg/img/bullets/"
|
||||
sprites = [join(dir, f) for f in listdir(dir) if isfile(join(dir, f))]
|
||||
colors = 8
|
||||
|
||||
for f in sprites:
|
||||
img = Image.open(f)
|
||||
for i in range(colors):
|
||||
img2 = colorize(img, 360 * i / colors)
|
||||
img2.save(f[:-4] + f'_{i+1}.png', 'PNG')
|
||||
|
||||
# Clean images
|
||||
if "clean" in argv:
|
||||
dir = "./assets-cg/img/bullets/"
|
||||
sprites = [join(dir, f) for f in listdir(dir) if f[-8:] == "-tmp.png"]
|
||||
for s in sprites:
|
||||
print(s)
|
||||
remove(s)
|