我正在使用vips库来处理一些图像,特别是它的Lua绑定,lua-vips,并且我试图创建合理的文本图像。我想vips中没有可用的函数直接执行此操作,因此我想知道如何为此提供一种算法。
我的第一个想法是使用known algorithm for justification解析要对齐的文本,但是使用每个单独单词的图像宽度而不是字符数来测量空白。然后,对于每行,将每个单词的文本图像彼此相邻放置,并在它们之间添加必要的空间作为黑色像素。
但是我不能弄清楚如何检查行高,因为它不一定等于文本图像的高度,所以我不确定我使用的是好的方法。
答案 0 :(得分:2)
git master libvips supports justification now,并且此功能应该在即将发布的libvips 8.8中(将于2019年春季发布)。
像这样使用它:
$ vips text x.png "hello world sdkj hsdfkj herqkjh wehf" --width 100 --justify
制作:
或者来自Lua:
x = vips.Image.text("hello world sdkj hsdfkj herqkjh wehf", {width = 100, justify = true})