문제

OpenVG 변환 행렬이 텍스트 렌더링 루틴에 의해 전혀 무시되고 VG_GLYPH_ORIGIN을 사용하여 수동으로 텍스트 위치를 제어할 수 없다는 것을 확인했습니다. parameter.

장면 그래프를 구현 중입니다.사용할 수 있다는 것을 알게 되었어요 vgGetMatrix, 현재 3x3 변환 행렬의 구성 요소 6과 7을 읽고 설정합니다. VG_GLYPH_ORIGIN 텍스트 블록을 그리기 전에 해당 값으로 변경합니다.이를 통해 텍스트 원점을 올바른 위치에 배치할 수 있지만 텍스트는 항상 왼쪽에서 오른쪽으로 표시됩니다.

그러나 이것만으로는 회전과 같은 다른 변환을 수행할 수 없습니다.텍스트가 다음과 같이 구성되어 있어서 놀랐습니다. VGPath그리고 그들은 실제로 변형되었습니다

OpenVG 1.1에서 텍스트를 회전시키는 방법이 있습니까?아니면 OpenVG 1.1의 텍스트 기능을 무시하고 문자를 개별 경로나 이미지로 수동으로 그려야 합니까?

도움이 되었습니까?

해결책

모든 그리기 기능은 서로 다른 사용자->표면 매트릭스를 사용합니다.

  • vgDrawPath 용도 VG_MATRIX_PATH_USER_TO_SURFACE
  • vgDrawImage 용도 VG_MATRIX_IMAGE_USER_TO_SURFACE
  • vgDrawGlyph/vgDrawGlyphs 사용 VG_MATRIX_GLYPH_USER_TO_SURFACE

기본적으로 모든 행렬 함수(vgTranslate, vgRotate, vgLoadMatrix, 등)에서 작동 VG_MATRIX_PATH_USER_TO_SURFACE.활성 매트릭스를 변경하려면 다음을 호출하십시오. vgSeti ~와 함께 VG_MATRIX_MODE 첫 번째 인수로:

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