質問

openvg変換行列は、テキストレンダリングルーチンによって無視され、VG_GLYPH_ORIGIN parameterを使用してテキスト位置を手動で制御することはできません。

シーングラフを実装しています。現在の3 x 3変換行列のComent Components 6および7の読み込みコンポーネント6と7を使用して、テキストのブロックを描画する前に、vgGetMatrixを設定できることがわかりました。これにより、テキストの原点を正しい場所に配置できますが、テキストは常に左から右に表示されています。

しかし、これ自体は私が回転のように他の変換をすることを可能にしません。テキストはVG_GLYPH_ORIGINsから構成されているので、私は驚くべきことで、それらは確かに変換されています

テキストをOpenVG 1.1で回転させる方法はありますか?または、OpenVG 1.1からテキスト機能を無視し、文字を手動で個々のパスまたは画像として描画する必要がありますか?

役に立ちましたか?

解決

All the draw functions use a different user->surface matrix:

  • vgDrawPath uses VG_MATRIX_PATH_USER_TO_SURFACE
  • vgDrawImage uses VG_MATRIX_IMAGE_USER_TO_SURFACE
  • vgDrawGlyph/vgDrawGlyphs use VG_MATRIX_GLYPH_USER_TO_SURFACE

By default, all of the matrix functions (vgTranslate, vgRotate, vgLoadMatrix, etc) operate on VG_MATRIX_PATH_USER_TO_SURFACE. To change the active matrix, call vgSeti with VG_MATRIX_MODE as the first argument:

vgSeti(VG_MATRIX_MODE, VG_MATRIX_GLYPH_USER_TO_SURFACE);
/* now vgTranslate, vgRotate, etc will operate on VG_MATRIX_GLYPH_USER_TO_SURFACE */
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top