ImageProcess.py 文件源码

python
阅读 31 收藏 0 点赞 0 评论 0

项目:BannerFactory 作者: xuning0 项目源码 文件源码
def _draw_tag(image, tag, tag_type, config_type):
    label = TextLabel(tag,
                      ImageFont.truetype(
                          os.path.join(CommonUtil.resource_abs_path(), ConfigManager().tag_font(config_type)),
                          ConfigManager().tag_font_size(config_type)))
    label.size_to_fit()

    ttype = tag_type
    if tag_type > len(TAG_COLOR_LIST) - 1:
        ttype = 0
    color = TAG_COLOR_LIST[ttype]

    # trick: ??N???????????resize?1???
    tag_height = ConfigManager().tag_h(config_type)
    trick_scale = 4
    trick_tag_view_size = ((label.fittingSize[0] + tag_height) * trick_scale, tag_height * trick_scale)
    tag_view = Image.new('RGBA', trick_tag_view_size, (*color, 0))
    draw = ImageDraw.Draw(tag_view)
    draw.pieslice((0, 0, trick_tag_view_size[1], trick_tag_view_size[1]), 90, 270, color)
    draw.rectangle((trick_tag_view_size[1] / 2, 0, trick_tag_view_size[1] / 2 + label.fittingSize[0] * trick_scale,
                    trick_tag_view_size[1]), color)
    draw.pieslice((label.fittingSize[0] * trick_scale, 0, trick_tag_view_size[0], trick_tag_view_size[1]),
                  270, 90, color)
    tag_view = tag_view.resize((label.fittingSize[0] + tag_height, tag_height), Image.ANTIALIAS)

    label.draw_label((int(tag_height / 2), int((tag_height - label.fittingSize[1]) / 2)), tag_view)

    image.paste(tag_view, (ConfigManager().tag_x(config_type), ConfigManager().tag_y(config_type)), tag_view)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号