質問
openvg変換行列は、テキストレンダリングルーチンによって無視され、VG_GLYPH_ORIGIN parameter
を使用してテキスト位置を手動で制御することはできません。
シーングラフを実装しています。現在の3 x 3変換行列のComent Components 6および7の読み込みコンポーネント6と7を使用して、テキストのブロックを描画する前に、vgGetMatrix
を設定できることがわかりました。これにより、テキストの原点を正しい場所に配置できますが、テキストは常に左から右に表示されています。
しかし、これ自体は私が回転のように他の変換をすることを可能にしません。テキストはVG_GLYPH_ORIGIN
sから構成されているので、私は驚くべきことで、それらは確かに変換されています
テキストをOpenVG 1.1で回転させる方法はありますか?または、OpenVG 1.1からテキスト機能を無視し、文字を手動で個々のパスまたは画像として描画する必要がありますか?
解決
All the draw functions use a different user->surface matrix:
vgDrawPath
usesVG_MATRIX_PATH_USER_TO_SURFACE
vgDrawImage
usesVG_MATRIX_IMAGE_USER_TO_SURFACE
vgDrawGlyph
/vgDrawGlyphs
useVG_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 */
所属していません StackOverflow