1

一部の画像、特にそのLuaバインディング、lua-vipsを操作するためにvipsライブラリを使用しています。正当化されたテキスト画像を作成しようとしています。これを直接行うための vips の機能はないと思うので、そのためのアルゴリズムをどのように考え出すのか疑問に思っていました。

私の最初のアイデアは、正当化のための既知のアルゴリズムを使用して正当化されるテキストを解析することでしたが、文字数の代わりに各単語の画像幅を使用して空白を測定しました。次に、行ごとに、各単語のテキスト画像を隣り合わせに配置し、それらの間に必要なスペースを黒いピクセルとして追加します。

ただし、テキスト画像の高さと必ずしも等しいとは限らないため、行の高さを確認する方法がわかりませんでした。そのため、適切なアプローチを使用しているかどうかはわかりません。

4

1 に答える 1

2

git master libvips は現在正当化をサポートしており、この機能は今後の 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 に答える