文字自动生成并转svg/dxf/dwg,直接打通设计到生产链路,不再需要设计师手动调整字符,极大提高生产图生成效率。如果你是定制电商,这个功能会在旺季发挥巨大效用。
一、文字生成
使用PIL即可。也可以用freetype,效果差不多。
几个问题:
1、直接调用无法准确控制文字的宽度和高度。当你设置字符高度时,生成的字符高度结并不准确。
image_pil = Image.new('RGB', (width, height), color=(255, 255, 255)) # 创建白色背景的图像
font_size = height # 字体大小设置为图像高度
font = ImageFont.truetype(font_path, size=font_size)
这种情况可以在图像层面进行处理。
字符高度并不是height
字符高度为height
2、应用场景需要字符底部对齐。英文字符大小写,或是不同字符,或是不同字体,每个字符的高度不统一,生成时字符底部不会对齐。这种情况,只要通过逐字符生成即可解决。
3、对于不同长度的字符,会超出画板,这种情况也从图像层面上进行处理。
字符宽度超过设定的width
调整在设定宽度范围内
二、图像转svg
对生成的文字图像进行svg转化。只要调用一个开源工具,比如vtracer。但是发现有锯齿情况。这个问题一个很大程度上取决于前面生成的文字图像边缘的平滑度。
毛刺明显
边缘平滑
三、图像转dxf
用Inkspace。