1

リモート LCD ディスプレイ用に中国語のテキストをビットマップに変換するプロジェクトがあります。サーバーで実行されているため、コマンド ライン ツールが優先されます。

そのようなシステムを実装するために Python/PIL と ImageMagick を使用しようとしています。ImageMagick は、Python/PIL がテキストをリモート ディスプレイ用の特別なパケット形式に変換する前に、テキストからビットマップを生成するために使用されます。

IM Web サイトから IM6 の例を読んだ後:

その過程でアンチエイリアスが問題を引き起こすことがわかりました。たとえば、次のコマンドでうまく機能します。

C:\ImageMagick-6.6.6-6\convert -background lightblue -fill blue -pointsize 48 -font "SimSun-&-NSimSun" label:@chinese_words.utf8 label_utf8_simsun.gif

生成された画像初心者は画像を投稿できません。

解像度の高いアンチエイリアスがかかっているので見栄えがします。LCD は白黒のみでアンチエイリアスはなく、12x12 ピクセルなどの低解像度でなければなりません。次のスクリプトを試しました。

C:\ImageMagick-6.5.6-Q16\convert -pointsize 16 -font "SimSun-&-NSimSun" +antialias -strokewidth 0.4 -threshold 50%% label:@chinese_words.utf8 label_utf8_simsun_16_bw_strokewid1.gif

結果は見栄えが悪く、ビットマップ ピクセルが欠落しています。

画像の生成初心者は画像を投稿できません。

LCDに適したPython / ImageMagick(アンチエイリアスなし、2色、小さいサイズ/低解像度)でTrueTypeフォントを抽出する方法を知っている人はいますか?

事前にご協力いただきありがとうございます。

4

1 に答える 1

2

SimSunはヒントが豊富なようですので、小さなピクセルサイズでも鮮明で読みやすくなっています。以下のスクリーンショットはキャラクターから拡大されたものです(それが何であるかはわかりません。それが何かである場合...失礼です、それは私の意図ではありませんでした:))Windows7で10ポイントのフォントサイズでワードパッドに貼り付けました。

SimSunのスクリーンショット

つまり、フォントヒンティングを適切にサポートするライブラリを使用して、グリフをレンダリングする代替案を検討することをお勧めします。FreeTypeはこれを行い(ヒントをサポートするようにコンパイルされた場合、アルゴリズムはまだ特許に抵触しています。私が正しく覚えていれば)、サーバープラットフォームもWindowsである場合、C#/GDIPlusアプリを作成するのはかなり簡単です。それはあなたのためにテキストをレンダリングします。

編集:好奇心と退屈から、私は実際にFreetype2に安価なPythonctypesバインディングを実装し、Freetype2チュートリアルに従って同様に安価なレンダリングコードを追加しました。小さいサイズでもまともな仕事をしているようです-そしてヒントなどは微調整可能です、私はコードのデフォルトを使用しています。

ここに画像の説明を入力してください

コードはhttps://bitbucket.org/akx/python-minift/srcで入手できます-正常に動作することを保証するものではありませんが、それはまともな出発点です。

于 2012-04-16T10:46:24.063 に答える