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)