Question

J'ai remarqué que les OpenVG matrice de transformation est ignoré par le rendu du texte de routine à tous et je ne peux pas contrôler la position du texte avec manuellement avec VG_GLYPH_ORIGIN parameter.

Je me suis mise en œuvre d'un graphe de scène.J'ai découvert que je peux utiliser vgGetMatrix, lire des composantes 6 et 7 de la présente 3x3 matrice de transformation et de définir VG_GLYPH_ORIGIN à ces valeurs avant de dessiner un bloc de texte.Cela permet au texte d'origine, être placé dans le bon endroit, mais le texte est toujours affiche toujours de gauche à droite.

Toutefois, cela ne doit pas me permettre de faire toutes les autres transformations, comme la rotation.Je suis surpris, parce que le texte est composé de VGPaths et ils sont en effet transformés

Est-il un moyen de rendre le texte pivoté avec OpenVG 1.1?Ou dois-je ignorer le texte de la fonctionnalité de OpenVG 1.1 et dessiner les lettres que les parcours individuels ou des images manuellement?

Était-ce utile?

La solution

Toutes les fonctions de dessin utiliser un autre utilisateur->surface de la matrice:

  • vgDrawPath utilise VG_MATRIX_PATH_USER_TO_SURFACE
  • vgDrawImage utilise VG_MATRIX_IMAGE_USER_TO_SURFACE
  • vgDrawGlyph/vgDrawGlyphs utilisation VG_MATRIX_GLYPH_USER_TO_SURFACE

Par défaut, toutes les fonctions de la matrice (vgTranslate, vgRotate, vgLoadMatrix,...) fonctionnent sur VG_MATRIX_PATH_USER_TO_SURFACE.Pour modifier la matrice active, appel vgSeti avec VG_MATRIX_MODE en tant que premier argument:

vgSeti(VG_MATRIX_MODE, VG_MATRIX_GLYPH_USER_TO_SURFACE);
/* now vgTranslate, vgRotate, etc will operate on VG_MATRIX_GLYPH_USER_TO_SURFACE */
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top