Как уменьшить пространство между строками в тексте с помощью VIPS? - PullRequest
1 голос
/ 05 января 2020

Используя VIPS, как уменьшить расстояние между строками в тексте? Существует необязательный параметр для vips.Image.text(), называемый spacing, который определяет это пространство между строками. Тем не менее, я могу сделать интервал больше, но не меньше. Например, в приведенном ниже коде (с использованием привязки 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")

приводит к следующему выводу :

Test with 0 spacing

Как и ожидалось, использование больших значений увеличивает интервал, поэтому, возможно, использование отрицательных значений уменьшит интервал. Однако, случается так, что библиотека дает мне предупреждение:

(lua-vips:17404): GLib-GObject-WARNING **: value "-1" of type 'gint' is invalid or out of range for property 'spacing' of type 'gint'

Я знаю, что VIPS использует Pan go для работы с текстом, поэтому я не уверен, возможно ли это это то, что VIPS еще не поддерживает, или что Pan go еще не поддерживает.

1 Ответ

2 голосов
/ 05 января 2020

Похоже, панорамирование go не поддерживает интервал <0: </p>

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

Так что я думаю, вам может не повезти. Вы могли бы визуализировать линии отдельно, а затем расположить их самостоятельно, я полагаю.

...