如何使用 VIPS 减少文本行之间的 space?
How to reduce space between lines in text using VIPS?
使用VIPS,如何减少文本中行与行之间的space? vips.Image.text()
有一个名为 spacing
的可选参数,用于确定行之间的 space。但是,我可以使间距更大但不能更小。例如,在下面的代码中(使用 Lua 绑定 VIPS,lua-vips),传递 0
作为 spacing
...
的参数
local vips = require 'vips'
local t = vips.Image.text("This is a\nrandom test.", {
spacing = 0
})
t:write_to_file("test.png")
产生以下输出:
正如预期的那样,使用更大的值会使间距更大,因此使用负值可能会使间距更小。然而,发生的事情是库给了我一个警告:
(lua-vips:17404): GLib-GObject-WARNING **: value "-1" of type 'gint' is invalid or out of range for property 'spacing' of type 'gint'
我知道 VIPS 使用 Pango 来处理文本,所以我不确定这是 VIPS 尚不支持的功能,还是 Pango 尚不支持的功能。
看来pango不支持间距<0:
https://developer.gnome.org/pango/stable/pango-Layout-Objects.html#pango-layout-set-line-spacing
https://developer.gnome.org/pango/stable/pango-Layout-Objects.html#pango-layout-set-spacing
所以我认为你可能运气不好。我想你可以单独渲染线条,然后自己定位它们。
使用VIPS,如何减少文本中行与行之间的space? vips.Image.text()
有一个名为 spacing
的可选参数,用于确定行之间的 space。但是,我可以使间距更大但不能更小。例如,在下面的代码中(使用 Lua 绑定 VIPS,lua-vips),传递 0
作为 spacing
...
local vips = require 'vips'
local t = vips.Image.text("This is a\nrandom test.", {
spacing = 0
})
t:write_to_file("test.png")
产生以下输出:
正如预期的那样,使用更大的值会使间距更大,因此使用负值可能会使间距更小。然而,发生的事情是库给了我一个警告:
(lua-vips:17404): GLib-GObject-WARNING **: value "-1" of type 'gint' is invalid or out of range for property 'spacing' of type 'gint'
我知道 VIPS 使用 Pango 来处理文本,所以我不确定这是 VIPS 尚不支持的功能,还是 Pango 尚不支持的功能。
看来pango不支持间距<0:
https://developer.gnome.org/pango/stable/pango-Layout-Objects.html#pango-layout-set-line-spacing
https://developer.gnome.org/pango/stable/pango-Layout-Objects.html#pango-layout-set-spacing
所以我认为你可能运气不好。我想你可以单独渲染线条,然后自己定位它们。