Я использую библиотеку vips для манипулирования некоторыми изображениями, в частности привязкой Lua, lua-vips, и пытаюсь создать оправданные текстовые изображения. Я полагаю, что в vips нет функции, позволяющей сделать это напрямую, поэтому мне было интересно, как придумать алгоритм для этого.
Моя первая идея состояла в том, чтобы проанализировать текст для выравнивания, используя известный алгоритм для выравнивания , но используя ширину изображения каждого отдельного слова вместо количества символов для измерения пустого пространства. Затем для каждой из строк поместите текстовые изображения каждого слова рядом друг с другом, добавив между ними необходимое пространство в виде черных пикселей.
Однако я не мог понять, как проверить высоту строки, поскольку она не обязательно равна высоте текстового изображения, поэтому я не уверен, что использую хороший подход.