Получение размеров текста в SFML
мне было интересно, как я получаю размеры моего текста в SFML?
Я попытался сделать это так:
sf::Text text("Hello SFML", font, 50);
// using text.getRect()
// i also tried getScale() & getSize()
// neither are correct
text.setPosition( window.getSize().y/2 - text.getRect().y,50 );
кто-нибудь знает ?
спасибо :)
2 ответов
глядя на документацию, кажется, что функция
getLocalBounds
может быть полезным для вас. Строка будет:
float width = text.getLocalBounds().width;
Я не уверен, если sf::Text
объект добавит любое заполнение на концах ограничивающего прямоугольника.
кроме того, вы можете использовать findCharacterPos
примерно так:
float width = text.findCharacterPos(numChars - 1).x - text.findCharacterPos(0).x;
здесь numChars
- количество символов в строке вашего
вы можете использовать getGlobalBounds (), чтобы получить размер/координаты после преобразования (поворот, масштаб, перемещение...). В противном случае это getLocalBounds().
Doc:http://www.sfml-dev.org/documentation/2.3.1/classsf_1_1Text.php