def random(self): rm_point = Point() rm_point.x = _r(0, IMAGE_WIDTH) rm_point.y = _r(0, IMAGE_HEIGHT) #rm_point.x = rmInRange(200, GENE_OFFSET, 0, IMAGE_WIDTH) #rm_point.y = rmInRange(200, GENE_OFFSET, 0, IMAGE_HEIGHT) return rm_point
def random(self): rm_color = Color() rm_color.r = _r(0, 255) rm_color.g = _r(0, 255) rm_color.b = _r(0, 255) #rm_color.a = _r(85,170) return rm_color
def __init__(self, image_size, mutate_speed=0.1, mutate_rate=50): self.max_range = image_size self.centre = (_r(0, image_size[0]), _r(0, image_size[1])) self.radius = min(abs(self.max_range[0] - self.centre[0]), abs(self.max_range[1] - self.centre[1])) self.mutate_speed = mutate_speed self.mutate_rate = mutate_rate self.color = Color(self.mutate_speed)
def main(): im = Image.new("RGBA", (400, 400), color=(255, 255, 255)) draw = ImageDraw.Draw(im) #final = im for i in range(500): #draw.line((_r(0,400),_r(0,400),_r(0,400),_r(0,400)), fill=(_r(0,255),_r(0,255),_r(0,255))) draw.polygon([(_r(0, 400), _r(0, 400)), (_r(0, 400), _r(0, 400)), (_r(0, 400), _r(0, 400))], fill=(_r(0, 255), _r(0, 255), _r(0, 255))) im.save('/im2.png')
def sample(population, k): population = list(population) t = [] s = 0 for i in range(k): s = _r(0, len(population) - 1) t += [population[s]] del population[s] return t
def token_urlsafe(nbytes=None): if not nbytes: nbytes = 16 t = "" printable = [i for i in range(48, 58)] + [i for i in range(65, 91) ] + [i for i in range(97, 123)] for i in range(nbytes): c = "" while c not in printable: c = _r(0, 255) t += chr(c) return t
def choice(seq): return seq[_r(0, len(seq) - 1)]
def choice(sequence): return sequence[_r(0, len(sequence) - 1)]
def __init__(self, mutate_speed=0.1): self.r = _r(0, 255) self.g = _r(0, 255) self.b = _r(0, 255) self.a = _r(0, 255) self.mutate_speed = mutate_speed
def randbelow(n): return _r(0, n)
def randint(A, B): return _r(A, B - 1)
#!/usr/bin/env python2 # coding=utf-8 """ draw shapes and fill shap with transparent color and overlap them. """ import os from PIL import Image, ImageDraw from random import randint as _r rpoint = _r(0,800) rcolor = _r(0,255) def main(): im = Image.new("RGBA", (800, 800), color=(255,255,255)) draw = ImageDraw.Draw(im) #final = im for i in range(0,1000): draw.line((rpoint,rpoint,rpoint,rpoint), fill=(rcolor,rcolor,rcolor)) ''' draw.line((rpint, 0, 200, 200), fill=(255, 0, 0)) #_draw.rectangle((0, 0, 200, 200), fill=(255, 255, 255, 128)) #final = Image.alpha_composite(im, final) draw.line((100, 100, 300, 300), fill=(0, 255, 0)) #_draw.rectangle((100, 100, 300, 300), fill=(255, 255, 255, 128)) final = Image.alpha_composite(im, final) draw.line((200, 200, 400, 400), fill=(0, 0, 255))
def rmInRange(old_value, offset, minsize, maxsize): new_value = old_value + _r(-offset, offset) new_value = max(minsize, min(new_value, maxsize)) return new_value
def randint(A, B): return _r(A, B-1)
def randbits(k): n = "0b" for i in range(k): n += str(_r(0, 1)) return int(n)
def random_change_in_range(old_value, random_rate, max_value, min_value): change_range = int(old_value * random_rate) new_value = old_value + _r(-change_range, change_range) new_value = max(min_value, min(max_value, new_value)) return new_value
def token_bytes(nbytes=None): if not nbytes: nbytes = 16 n = b'' for i in range(nbytes): n += "\\x" + str(_r(0, 0xff)) return n
def mutate(self): for attr in ['r', 'g', 'b', 'a']: new_value = random_change_in_range(getattr(self, attr), self.mutate_speed, 255, 0) setattr(self, attr, new_value) self.a = _r(255 // 3, 255 * 2 // 3)
def token_hex(nbytes=None): if not nbytes: nbytes = 10 t = "" for i in range(nbytes): t += str(hex(_r(0, 0xff)))[2:] return t
def is_mutable(self): return _r(0, 100) < self.mutate_rate
#!/usr/bin/env python2 # coding=utf-8 """ draw shapes and fill shap with transparent color and overlap them. """ import os from PIL import Image, ImageDraw from random import randint as _r rpoint = _r(0, 400) rcolor = _r(0, 255) def main(): im = Image.new("RGBA", (400, 400), color=(255, 255, 255)) draw = ImageDraw.Draw(im) #final = im for i in range(500): #draw.line((_r(0,400),_r(0,400),_r(0,400),_r(0,400)), fill=(_r(0,255),_r(0,255),_r(0,255))) draw.polygon([(_r(0, 400), _r(0, 400)), (_r(0, 400), _r(0, 400)), (_r(0, 400), _r(0, 400))], fill=(_r(0, 255), _r(0, 255), _r(0, 255))) im.save('/im2.png') if __name__ == '__main__': main()