1

我正在使用 vips 库来处理一些图像,特别是它的 Lua 绑定、lua-vips,并且我正在尝试创建合理的文本图像。我猜 vips 中没有可用的功能可以直接执行此操作,所以我想知道如何为此提出一个算法。

我的第一个想法是使用已知的对齐算法解析要对齐的文本,但使用每个单独单词的图像宽度而不是字符数来测量空白空间。然后,对于每一行,将每个单词的文本图像彼此相邻放置,在它们之间添加必要的空间作为黑色像素。

但是我不知道如何检查行高,因为它不一定等于文本图像的高度,所以我不确定我是否使用了一个好的方法。

4

1 回答 1

2

git master libvips now 支持 justification,这个功能应该在即将发布的 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})
于 2019-03-16T11:53:20.773 回答