如何在SFML,C ++上使用sf::viewport测试不同的分辨率
How to test different resolutions using sf::viewport on SFML, c++
我正在尝试在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
圆仍然不是一个完美的圆。它看起来比例不均。
我错过了什么?
您是否尝试过使用视频模式的默认构造函数,并且仍然使用全屏。这就是我们用于项目的方法,它有效。
相关文章:
- 使用 sf::Text 数组时崩溃
- 尝试将 sf::Texture* 推送到 std::vector 时出错
- 为什么 sf::Text 显示点而不是数字?
- sf::文本不显示?
- sf::Windows上的音乐:api-ms-win-crt-locale-l1-1-0.dll:无法打开共享对象文件
- 如何将sf::RenderWindow传递给另一个函数
- 当我尝试绘制 sf::Text 对象时,SFML 中的分段错误
- 重载运算符时出错<在 sf::Vector 中
- 声明 sf::SoundBuffer 会导致程序在终止时崩溃
- 正在加载 sf::图片来自 QDialog
- SFML 中的分段错误 调用 sf::窗口::关闭后
- 未解决的外部符号sf ::带有SFML的时间
- crtdbg 在使用 sf::Text::setOutlineThickness 时转储内存泄漏
- sf::声音函数会导致链接器错误
- SFML sf::Mouse::getPosition 方法无法编写正确的参数
- SF :: Renderwindow的destrutor被检测到的堆叠粉碎
- 为什么我的SFML将SF ::纹理作为参数传递到函数时会不断崩溃
- SFML/C++ 闪烁命中效果 sf::精灵
- SFML 2.4.2 在绘制 sf::Text 对象之前获取本地边界
- 如何在SFML,C ++上使用sf::viewport测试不同的分辨率