42 lines
890 B
Python
42 lines
890 B
Python
from PIL import Image
|
|
import numpy as np
|
|
import random
|
|
|
|
def cv(min=0,max=255):
|
|
return random.randint(min,max)
|
|
|
|
leng = 0
|
|
color1 = [cv(min=200),cv(),cv()]
|
|
color2 = [cv(),cv(),cv()]
|
|
|
|
print(color1)
|
|
print(color2)
|
|
|
|
w, h = 2084, 1024
|
|
data = np.zeros((h, w, 3), dtype='uint8')
|
|
|
|
|
|
def newvals():
|
|
deltas = [0,0,0]
|
|
leng = random.randint(40, 1000)
|
|
for i in range(3):
|
|
deltas[i] = float((color2[i] - color1[i])/leng)
|
|
return leng, deltas
|
|
|
|
|
|
|
|
for x in data:
|
|
cursor = 0
|
|
leng, deltas = newvals()
|
|
for y in x:
|
|
for i in range(3):
|
|
y[i] = int(min(color1[i] + (deltas[i] * cursor), 255) * float(cursor/leng))
|
|
cursor += 1
|
|
if cursor > leng:
|
|
cursor = 0
|
|
leng, deltas = newvals()
|
|
|
|
img = Image.fromarray(data, 'RGB')
|
|
img = img.rotate(270, expand=True)
|
|
img.save('my.png')
|
|
img.show() |