在Rust的glium库中如何获取宽度与高度?
使用Rust glium库获取宽高参数的实现方法
1 获取窗口帧缓冲的物理宽高
你初始化得到glium::Display实例后,直接调用内置方法即可获取当前窗口的物理像素宽高:
// display为你项目中已完成初始化的glium Display实例 let (width, height) = display.get_framebuffer_dimensions();
如果需要适配系统DPI缩放的逻辑像素宽高,可结合窗口缩放因子计算:
let scale_factor = display.gl_window().window().scale_factor(); let logical_width = width as f64 / scale_factor; let logical_height = height as f64 / scale_factor;
- 若窗口支持动态调整尺寸,在窗口尺寸变更事件触发时重新调用上述方法,即可获取更新后的宽高参数。
2 获取自定义离屏帧缓冲的宽高
如果你使用的是自行创建的离屏帧缓冲对象,直接调用对应方法即可:
// framebuffer为你创建的glium::framebuffer::Framebuffer实例 let (fb_width, fb_height) = framebuffer.get_dimensions();
内容的提问来源于stack exchange,提问作者javaboy
相关产品推荐
相关产品推荐

