3

私はアンドロイドが初めてで、私のグループは現在、opengl es 2.0 を使用して GlSurfaceView を使用してグラフ作成アプリケーションを作成しています。

最近、プロットにグリッドと目盛りを表示し、数値スケールを実装し、x 軸と y 軸に「X」と「Y」のラベルを付けるタスクを割り当てられました。

ここに画像の説明を入力

多くの調査を行った後、文字列をビットマップにレンダリングすることでこれを達成することにしました。これを達成するために多くの問題に遭遇しました。基本的な考え方は理解できました。英数字 "0123456789" と "XY" と "-" (-x と -y スケール用) が必要になることはわかっています。私は多くの異なる例を見て、ここでJVitellaの例を広範囲にフォローしようとしまし

私は概念を理解し始めていますが、文字列に関する限り、13文字あることがわかっているので、ビットマップはどれくらいの大きさにする必要がありますか?

また、Jvitelas の例では、次のコードに唖然としました。

Drawable background = context.getResources().getDrawable(R.drawable.background);

何が起こっているのか正確にはわかりません。これをコーディングすると、コンテキストで構文エラーが発生します。

私のアプリケーションでは、このように文字列をビットマップに保存する必要があることを理解しています。ビットマップを作成しますが、どのくらいの大きさにする必要がありますか? 次に、ビットマップからキャンバスを作成し、canvas.drawText をビットマップに作成します。

  [ 0 1 2 3 4 ]
  | 5 6 7 8 9 |
  [ X Y Z     ]

基本的に私は尋ねています:

  • 上記の次のビットマップを実現するにはどうすればよいですか?
  • ビット マップから 1 桁の数字を描画するにはどうすればよいですか?
  • 2 桁以上の数字を描くにはどうすればよいですか?
4

1 に答える 1

2

たくさん質問されますが、いくつか答えてみます。

  • 私のビットマップの大きさはどれくらいですか?

    テキストをどれだけ鮮明にしたいかによって、それはあなた次第です。各文字に数百ピクセルの巨大なビットマップを割り当てて、非常にうまくズームすることも、解像度が制限された非常に小さなビットマップを割り当てることもできます。あなたが望む「フォントサイズ」が何であれ、各文字の高さに少なくともその数のピクセルを割り当てます。したがって、「20」のフォントサイズで何かを描画したい場合は、5x20 x 3x20 または 100x60 のビットマップが必要になるかもしれません。

  • ビット マップから 1 桁の数字を描画するにはどうすればよいですか?

    文字を描きたい場所にopenglで四角形を描き、その四角形のテクスチャ座標を使って文字を選びます。

    たとえば、X を描画する場合、画面上にクワッドを描画し、(0,0) から (0.2, 0.33) までの texcoords を割り当てます。これにより、テクスチャの左 1/5 が選択され、下部が選択されます。テクスチャの 1/3。このようなボックスがテクスチャの「X」の位置にどのように並ぶかがわかります。

  • 2 桁以上の数字を描くにはどうすればよいですか?

    2 つの独立した 1 桁の数字を隣り合わせに描画するだけです。


FrameLayoutここでの唯一の目的が Android でテキストを描画することである場合TextViewsは、GLSurfaceView. OpenGL はテキスト用に設計されていないため、やや面倒です。

于 2012-12-01T00:23:34.873 に答える