def create(text, name=None): if not name: name = text file_og = 'out/original/%s.png' % name.lower() file_lg = 'out/500x500/%s.png' % name.lower() file_md = 'out/180x180/%s.png' % name.lower() file_sm = 'out/60x60/%s.png' % name.lower() print file_og avatar = Avatar.generate(500, 255, text, 'PNG', (236, 238, 241), (170, 181, 194)) with open(file_og, 'wb') as f: f.write(avatar) f.close() copyfile(file_og, file_lg) img = PILImage.open(file_og) md = PILImageOps.fit(img, (180, 180), PILImage.ANTIALIAS) md.save(file_md, 'PNG', optimize=True) sm = PILImageOps.fit(img, (60, 60), PILImage.ANTIALIAS) sm.save(file_sm, 'PNG', optimize=True)
def create_avatar(avatar_name, AVATAR_DIR=None): initial = avatar_name[0].upper() if any(scandir(AVATAR_DIR)): for avatar in listdir(AVATAR_DIR): if initial in avatar.split('.')[0]: return 'Exist' else: avatar = Avatar.generate(128, avatar_name, "PNG") with open(join(AVATAR_DIR, f"{initial}.png"), 'wb') as f: data = f.write(avatar) else: avatar = Avatar.generate(128, avatar_name, "PNG") with open(join(AVATAR_DIR, f"{initial}.png"), 'wb') as f: data = f.write(avatar)
def gen_stu(): stu = [] f = Faker() for _ in range(2): s = f.uuid4() print(s) passwd = s[:-2] fakes = [ s, f.name(), f.first_name(), f.name_male(), f.email(), f.phone_number(), # f.future_date(), f.random_int() % 2, f.random_int() % 1000 / 10, ] avatar = Avatar.generate(size=64, string=fakes[2]) fakes.append(base64.b64encode(avatar).decode('utf8')) info = dict(zip(labels, fakes)) auth = {"usr": s, "passwd": passwd} stu.append({"info": info, "auth": auth}) return stu
def photo(): try: initials = request.args.get('name'); size = int(request.args.get('size')); except Exception: initials = "+"; size = 128; avatar = Avatar.generate(size, initials, "PNG") headers = { 'Content-Type': 'image/png' } return make_response(avatar, 200, headers)
def create_auth_token(sender, instance=None, created=False, **kwargs): # 自动创建token和头像 if created: Token.objects.create(user=instance) if not instance.avatar: avatar_name = "{}/avatar/{}.png".format(settings.MEDIA_ROOT, instance.username) with open(avatar_name, 'wb') as atf: atf.write(Avatar.generate(128, instance.username)) instance.avatar = avatar_name instance.save()
def save(self, *args, **kwargs): if not self.nickname: self.nickname = self.email.split('@')[0] self.username = self.email.split('@')[0] if not self.avatar: email = self.email image_byte_array = Avatar.generate(128, email, "PNG") self.avatar.save('default_avatar.png', ContentFile(image_byte_array), save=False) super().save(*args, **kwargs)
def create_auth_token(sender, instance=None, created=False, **kwargs): # 当收到users表创建用户时将触发创建用户对应的token,用于验证登陆 if created: Token.objects.create(user=instance) if not instance.avatar: # 如果用户没有头像,则自动创建一个 avatar_name = "{}/avatar/{}.png".format(settings.MEDIA_ROOT, instance.username) with open(avatar_name, 'wb') as atf: atf.write(Avatar.generate(128, instance.username)) instance.avatar = avatar_name instance.save()
def build_avatar(self, size=400): path = self.build_avatar_path() full_path = os.path.join(settings.MEDIA_ROOT, path) # Build a random default avatar avatar_data = Avatar.generate(size, self.first_name) with open(full_path, 'w+') as fd: fd.write(avatar_data) # Save the new path, but don't save self.avatar = path return path
def save(self, *args, **kwargs): if not self.nickname: self.nickname = self.email.split('@')[0] self.username = self.email.split('@')[0] if not self.avatar: email = self.email image_byte_array = Avatar.generate(128, email, "PNG") self.avatar.save( 'default_avatar.png', ContentFile(image_byte_array), save=False) super().save(*args, **kwargs)
def avatar(username): avatar = Avatar.generate(128, username) headers = { 'Content-Type': 'image/png' } return make_response(avatar, 200, headers)
def avatar(username): avatar = Avatar.generate(128, username) headers = {'Content-Type': 'image/png'} return make_response(avatar, 200, headers)
def example(text): text = string[0:2].upper() avatar = Avatar.generate(500, 255, text, 'PNG') headers = {'Content-Type': 'image/png'} return make_response(avatar, 200, headers)
from avatar_generator import Avatar def randsize(i): return pow(1003, i, 128) + 32 def randname(i): return chr(ord('A') + i) for i in range(16): av, = Avatar.generate(randsize(i), randname(i), 'PNG'), with open('test_%s.png' % i, 'wb') as outf: outf.write(av)
def example(text): #avatar = Avatar.generate(500, 255, text, 'PNG') avatar = Avatar.generate(500, 255, text, 'PNG', (236, 238, 241), (170, 181, 194)) headers = {'Content-Type': 'image/png'} return make_response(avatar, 200, headers)