我正在尝试在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 像素(即 1680 的 14.28%)作为黑条。
我原来的屏幕分辨率是1920x1080,但是为了检查这个测试,我已将其更改为1680,1050。
结果如下: https://prnt.sc/m9uuc9
圆仍然不是一个完美的圆。它看起来比例不均。
我错过了什么?
您是否尝试过使用视频模式的默认构造函数,并且仍然使用全屏。这就是我们用于项目的方法,它有效。