Как протестировать разные разрешения, используя sf :: viewport на SFML, c ++ - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь проверить разрешение масштабирования в SFML.

sf::RenderWindow window;
window.create(sf::VideoMode(1680, 1050, 32), "test", 
sf::Style::Fullscreen);

sf::View view(sf::FloatRect(0, 0, 1600, 900));
sf::FloatRect port;
port = sf::FloatRect( 0.1428 / 2, 0, 1 - (0.1428), 1);
view.setViewport(port);

0,1428, когда я изменяю размер от 1050 до 900, мне нужно поставить черные полосы, чтобы уменьшить горизонтальные пиксели на 14,28%, чтобы я мог сохранить соотношение сторон одинаковым.

так, чтобы сохранить соотношение сторон, новое отображаемое разрешение будет равно 1440,900 и 240 пикселей (что составляет 14,28% от 1680) в виде черных полос.

мое исходное разрешение экрана составляет 1920x1080, но для проверки этого теста я изменил его на 1680,1050.

вот результат: https://prnt.sc/m9uuc9

круг все еще не идеальный круг. выглядит неравномерно.

что мне не хватает?

1 Ответ

0 голосов
/ 21 января 2019

Вы пытались использовать конструктор по умолчанию для видеомод, и все еще используете полноэкранный режим.Это то, что мы использовали для нашего проекта, и он работает.

...