如何获取屏幕/显示器的分辨率?

6

我目前正在使用 Rust(Piston Crate) 制作一款游戏,我想居中创建的窗口。它允许我改变窗口相对于屏幕左上角的偏移量。我想获取操作系统工作的分辨率(屏幕/显示器分辨率),并基于此将窗口居中。

例如在 Python 中,您可以使用 pyautogui.size() 获取屏幕分辨率。

在 Java 中,您可以使用 java.awt,通过 Toolkit.getDefaultToolkit().getScreenSize() 获取屏幕分辨率。

在 Rust 中有类似的方法吗?(std 或任何外部库)

1个回答

3

这取决于您使用的后端。 例如,如果您使用Winit / Glutin后端,则可以使用MonitorHandle结构体,该结构体具有size()方法。

文档:https://docs.rs/winit/0.26.1/winit/monitor/struct.MonitorHandle.html

或者对于Glutin https://docs.rs/glutin/0.28.0/glutin/window/struct.Window.html#method.available_monitors

Glutin模块还具有可以提供信息的dpi模块。 https://docs.rs/glutin/0.28.0/glutin/dpi/index.html

如果您使用SDL2后端,可以查看sdl2_sys模块SDL_HINT_RENDER_LOGICAL_SIZE https://docs.rs/sdl2-sys/0.35.2/sdl2_sys/constant.SDL_HINT_RENDER_LOGICAL_SIZE_MODE.html


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接