def gen_text_img(self, text: str,
                     font_path,
                     color=const.COLOR_BLACK,
                     font_size=14,
                     border_width=0,
                     border_color=const.COLOR_TRANSPARENT,
                     orientation=TYPE_ORIENTATION_HORIZONTAL,
                     padding=(0, 0, 0, 0),
                     align_mode=TYPE_ALIGN_MODEL_C,
                     auto_padding_to_ratio=0.0):
        char_obj_list = gen_batch_char_obj(text=text, color=color, font_size=font_size, border_width=border_width,
                                           border_color=border_color)

        text_img = create(char_obj_list=char_obj_list,
                          orientation=orientation,
                          align_mode=align_mode,
                          padding=padding,
                          auto_padding_to_ratio=auto_padding_to_ratio,
                          font_path=font_path,
                          text_img_output_dir=self.text_img_output_dir,
                          text_img_info_output_dir=self.text_img_info_output_dir)
        return text_img

if __name__ == '__main__':
    # 使用示例
    from service import init_config

    init_config()
    from service import text_img_provider

    # 获取一个字体文件的路径
    fp = text_img_provider.next_font_path()

    # 导出文本图片
    p = text_img_provider.gen_text_img("hello world", color=const.COLOR_BLUE, font_path=fp)
    p.export()
    # p.show()

    # 构造文本图片
    l = []
    l.extend(gen_batch_char_obj("你好啊", const.COLOR_BLUE, font_size=24))
    l.extend(gen_batch_char_obj(" 渣 男 ", const.COLOR_GREEN, font_size=28))
    r = text_img_provider.gen_complex_text_img(l, font_path=fp)
    r.show()

    # 获取文字区域尺寸信息
    bg_w, bg_h = text_img_provider.calc_bg_size(fp, orientation=TYPE_ORIENTATION_HORIZONTAL, char_obj_list=l,
                                                spacing_rate=0.1)

    print(bg_w)
    print(bg_h)