2009-12-08 20 views
8

プログラムは、配列としてマップされたフレームバッファにテキストを描画するにはどうすればよいですか?必要とされるのは、個々の文字を表現する手段と、文字をあまり効率的ではない方法でピクセルごとに描画する手段の両方である。文字の表現は理想的にはコードでのみ定義する必要があり、第三者図書館は必要ありません。CのLinuxのフレームバッファにテキストを描画

自由なライセンスの下で利用可能なコードを知っている人はいますか?または、プログラムコードで使用するためのフォントのデータ定義を生成するためのツール。ビットマップのグリフ/文字値の配列?

+0

結果を画面に表示するのか、それともファイルに書き込むのか? –

+1

画面に表示するには、理想的には60fpsまで – grrussel

答えて

3

フレームバッファに固有の情報はありませんが、フォントをエンコードする面白い方法があります。

XBM formatに書き込むことができるアプリケーションをお持ちの場合は、すべての文字を含むイメージを作成するだけでフォントをエンコードできます。 XBMファイルはCまたはC++ファイルとして含めることができ、適切なオフセットを使用することで簡単に1文字にアクセスできます。イメージがピクセルごとに1ビットとしてコード化されるため、各文字が8で割り切れるX座標で始まることを確認してください。 8ビット境界に整列していないものはマスキングとシフトが必要です。

-3

2D配列に線を描画するには、Besengam's algorithmを使用します。

文字を直線で描画するには、一連のmoveTo、lineToを使用してアルファベットを作成します。例えば。シンプルな「L」のために:​​:

image.moveTo(0,-fontHeight); 
image.lineTo(0, 0); 
image.lineTo(fontWidth,0); 
1

私はそれを行うための最善の方法は、ビットマップフォントを使用していると思います。このチュートリアルはOpenGLのためのものですが、役に立つ情報がたくさんあります。

関連する問題