vips - 如何创建对齐文本?
vips - How to create justified text?
我正在使用 vips 库来处理一些图像,特别是它的 Lua 绑定,lua-vips,我正在尝试创建合理的文本图像。我想在vips中没有可用的功能可以直接执行此操作,所以我想知道如何为此提出一个算法。
我的第一个想法是使用 known algorithm for justification 来解析要对齐的文本,但使用每个单独单词的图像宽度而不是字符数来衡量空 space。然后,对于每一行,将每个单词的文本图像并排放置,并在它们之间添加必要的 space 作为黑色像素。
但是我不知道如何检查行高,因为它不一定等于文本图像的高度,所以我不确定我使用的是好的方法。
git master libvips supports justification now,此功能应该在即将推出的 libvips 8.8 中(将于 spring 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})
我正在使用 vips 库来处理一些图像,特别是它的 Lua 绑定,lua-vips,我正在尝试创建合理的文本图像。我想在vips中没有可用的功能可以直接执行此操作,所以我想知道如何为此提出一个算法。
我的第一个想法是使用 known algorithm for justification 来解析要对齐的文本,但使用每个单独单词的图像宽度而不是字符数来衡量空 space。然后,对于每一行,将每个单词的文本图像并排放置,并在它们之间添加必要的 space 作为黑色像素。
但是我不知道如何检查行高,因为它不一定等于文本图像的高度,所以我不确定我使用的是好的方法。
git master libvips supports justification now,此功能应该在即将推出的 libvips 8.8 中(将于 spring 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})