示例#1
0
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)
示例#3
0
文件: test.py 项目: Mon-ius/weapp_api
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
示例#4
0
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)
示例#5
0
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()
示例#6
0
    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)
示例#7
0
文件: __init__.py 项目: ccbang/xcmdb
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()
示例#8
0
    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
示例#9
0
  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
示例#10
0
文件: models.py 项目: muyang/dangann
    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)
示例#11
0
def avatar(username):
    avatar = Avatar.generate(128, username)
    headers = { 'Content-Type': 'image/png' }
    return make_response(avatar, 200, headers)
示例#12
0
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)
示例#14
0
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)
示例#15
0
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)