27 个版本
0.5.1 | 2024 年 4 月 27 日 |
---|---|
0.5.0 | 2024 年 3 月 5 日 |
0.4.9 |
|
0.4.4 | 2023 年 12 月 22 日 |
0.3.2 | 2022 年 7 月 31 日 |
#328 in 图像
3,923 每月下载量
在 18 个 crate 中使用 (6 个直接使用)
26KB
587 代码行
display-info
跨平台获取 MacOS、Windows、Linux 的显示信息。类似于 electron 显示对象
示例
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 - 与显示关联的唯一标识符。name
String - 显示的名称raw_handle
CGDisplay/HMONITOR/Output - 原生显示原始句柄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
最低支持的 Windows 2000 Professional/Server
使用功能 gdi
。
依赖项
~0.1–40MB
~627K SLoC