本文整理汇总了Python中pgmagick.Image.annotate方法的典型用法代码示例。如果您正苦于以下问题:Python Image.annotate方法的具体用法?Python Image.annotate怎么用?Python Image.annotate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pgmagick.Image
的用法示例。
在下文中一共展示了Image.annotate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: emotion_to_avatar
# 需要导入模块: from pgmagick import Image [as 别名]
# 或者: from pgmagick.Image import annotate [as 别名]
def emotion_to_avatar(emotion, font_path, color=Color("black")):
"""使用颜文字(文本)来生成一张方形图片
:type emotion: string
:param emotion: 需要绘制在图像上的文本
:type font_path: string
:param font_path: 字体文件路径
:type color: Color
:param color: 绘制的文本颜色
返回结果是一个 Image 对象,并叫将会被规整到 AVATAR_SIZE 设定的大小
"""
font_size = 128
max_size = len(emotion.decode('utf-8')) * font_size
img = Image(Geometry(max_size, max_size), Color("white"))
img.font(font_path)
img.fontPointsize(font_size)
img.annotate(emotion, GravityType.CenterGravity)
img.trim()
img.write('tmp.png')
height = img.rows()
width = img.columns()
origin_pimg = PImage.open('tmp.png')
new_pimg = PImage.new("RGB", (max(height, width), max(height, width)), "white")
if height > width:
new_pimg.paste(origin_pimg, ((height - width) / 2, 0))
else:
new_pimg.paste(origin_pimg, (0, (width - height) / 2))
return new_pimg.resize(AVATAR_SIZE, PImage.ANTIALIAS)