필자가 FreeType과 OpenGL을 사용하여 일부 텍스트를 인쇄 할 때 코드를 계승했습니다 (글꼴이 모노 스페이스 글꼴 일 필요는 없음).FreeType에서 텍스트 폭을 얻는 방법은 무엇입니까?
올바르게 정렬 할 수 있도록 인쇄 된 텍스트 너비를 계산해야합니다.
freetype::font_data font;
font.init(fontPath.c_str(), fontSize);
freetype::print(font, x, y, "%s", str.c_str());
Here이 print
기능을 가진 FreeType에서 소스입니다 : 여기
나는 print
기능을 수정하여 텍스트 폭을 얻을 수있는 방법을 생각할 수 없었다 나는 face->glyph->metrics.width
을 반환 (도 언급 한 파일) 글꼴의 init
기능 편집을 시도했지만 face->glyph
가 null 없다는 예외가 있었다. 그러나 나는 심지어 도서관의 출처를 편집하려고 노력해야한다고 생각하지 않는다.
텍스트 너비를 얻는 방법에 대한 단서가 없기 때문에 텍스트를 인쇄하고 인쇄 된 너비와 그 위에 뭔가를 인쇄하는 것을 고려하고 있습니다. 그 아이디어가 있을까요?
내가 기억하는 것으로부터, 당신은 올바른 길을 가고 있습니다. 텍스트를 인쇄해야합니다.이 경우 화면 버퍼를 사용할 수 없습니다. 인쇄 폭을 픽셀 단위로 가져 오는 방법이 있어야합니다. – Jay