github 头像生成 java,GitHub - lsdlab/avatar-gen: pillow 生成头像,中英文首字母或者随机像素化。Using pillow for generate ava...

Join GitHub today

GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

Sign up

Launching Visual Studio

...

Go back

pillow 头像生成,中文或英文首字母或者随机像素化。

Using pillow for generate avatars, first letter of string in Chinese and English or random pixel like avatars.

第一个库用的字体不能生成中文,换成了思源黑体,然后位置也调整了一下才能把字放在中间。

Flask API

参考

app.py

,用了 celery,再 Docker 化做成微服务。

python app.py # python 单进程

gunicorn app:app -c gunicorn.conf # four worker and gevent

celery -A app.celery worker --loglevel=info --autoscale=4,2 # celery job queue

Docker 运行

用 Docker 运行请注意

app.py

里面的

app.config.update()

Redis 作为 Celery 的 Broker,

redis host 用 docker-compose.yml 的 container_name

avatar-gen-redis

docker-compose up

两个 API,都是

GET

方法,

filetype

参数可以不传:

curl -X GET 'http://localhost:5000/api/v1/letter_avatar?size=128&string=lsdvincent@gmail.com&filetype=PNG'

curl -X GET 'http://localhost:5000/api/v1/pixel_avatar?size=128&string=lsdvincent@gmail.com&filetype=PNG'

Python 项目包安装方法 Python project package Installation:

pip install git+https://github.com/lsdlab/avatar-gen.git

使用方法 Usage:

生成出来的是 image byte array,自己用 PIL 保存。

generate result is image byte array, you need to save to file using PIL.

import io

from PIL import Image

from avatar_gen.letter_avatar import LetterAvatar

from avatar_gen.pixel_avatar import PixelAvatar

# generate letter avatar in Chinese or Enginlish character

image_byte_array = LetterAvatar.generate(size=128, string="lsdvincent@gmail.com", filetype="PNG")

# image_byte_array = LetterAvatar.generate(size=128, string="lsdvincent@gmail.com", filetype="PNG")

file_path = "/Users/Chen/PythonProjects/avatar-gen/letter_avatar.png"

image = Image.open(io.BytesIO(image_byte_array))

image.save(file_path)

# generate pixel avatar

pixel_avatar = PixelAvatar(rows=10, columns=10)

image_byte_array = pixel_avatar.get_image(size=128, string="lsdvincent@gmail.com", filetype="PNG")

file_path = "/Users/Chen/PythonProjects/avatar-gen/pixel_avatar.png"

image = Image.open(io.BytesIO(image_byte_array))

image.save(file_path)

# or you can save image file using instance function

# return pixel_avatar.save(

# image_byte_array=image_byte_array, save_location='pixel_avatar.png')

生成示例 examples:

pytest

output:

Test session starts (platform: darwin, Python 3.6.3, pytest 3.5.0, pytest-sugar 0.9.1)

rootdir: /Users/Chen/PythonProjects/avatar-gen, inifile:

plugins: sugar-0.9.1, flask-0.10.0, django-3.1.2

test_avatar_gen.py ✓✓ 100% ██████████

Results (0.16s):

2 passed

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值