1 个不稳定版本
0.0.1 | 2024年1月3日 |
---|
#135 在 #screen
20KB
415 行
display-info
跨平台获取 MacOS、Windows、Linux 的显示信息。类似于 electron Display 对象
示例
use display_info::DisplayInfo;
use std::time::Instant;
fn main() {
let start = Instant::now();
let display_infos = DisplayInfo::all().unwrap();
for display_info in display_infos {
println!("display_info {display_info:?}");
}
let display_info = DisplayInfo::from_point(100, 100).unwrap();
println!("display_info {display_info:?}");
println!("运行耗时: {:?}", start.elapsed());
}
DisplayInfo 结构体
id
u32 - 与显示关联的唯一标识符。x
i32 - 显示的 X 坐标。y
i32 - 显示的 Y 坐标。width
u32 - 显示的像素宽度。height
u32 - 显示的像素高度。rotation
f32 - 可以为 0, 90, 180, 270,代表顺时针旋转的角度。scale_factor
f32 - 输出设备的像素缩放因子。frequency
f32 - 显示刷新率。is_primary
bool - 是否是主屏幕。
Linux 要求
在 Linux 上,您需要安装 libxcb
、libxrandr
Debian/Ubuntu
apt-get install libxcb1 libxrandr2
Alpine
apk add libxcb libxrandr
ArchLinux
pacman -S libxcb libxrandr
依赖
~0.1–36MB
~533K SLoC