2 个版本
新 0.1.1 | 2024年8月27日 |
---|---|
0.1.0 | 2024年8月27日 |
#5 在 #thumbnail
7KB
72 行
thumbcache
使用 Windows thumbcache 获取文件的 bmp 预览图。
用法
当尝试从非图像文件(.zip 或 .exe)获取预览图时将抛出错误。如果预览图不存在也可能抛出错误。因此,检查错误比依赖于 .unwrap()
或 ?
语法更好。
use std::io::{Error, Write};
pub fn main() -> Result<(), Error> {
let hbitmap = thumbcache::get_hbitmap(r"C:\path-to-file.jpeg", 96, 96, 0x08)?;
// true — include .bpm file headers
// false — dont
let bitmap = thumbcache::get_bitmap_bits(hbitmap, true);
let mut file_out = std::fs::File::create("./out.bmp")?;
let _ = file_out.write_all(&bitmap);
Ok(())
}
来源
在编写这个程序时,我使用了以下来源。我还使用了 ChatGPT,因为我最初并不是 Rust 开发者,并且对 C 或 WinAPI 并不熟悉。我认为这值得一提。
https://stackoverflow.com/questions/14207618/get-bytes-from-hbitmap
https://stackoverflow.com/questions/21751747/extract-thumbnail-for-any-file-in-windows
依赖项
~128MB
~2M SLoC