2个版本
0.2.5 | 2023年6月20日 |
---|---|
0.2.4 | 2023年6月20日 |
#451 in 图像
210KB
581 行
pb-imgsize
Rust中的快速JPEG和PNG图像元数据读取器。
这个Rust库提供了一个高效的方法来提取JPEG和PNG图像文件中的图像尺寸(宽度和高度)以及嵌入的注释,而不需要解码整个图像。这个库的主要关注点是尽可能快地执行这些操作。
特性
- 支持JPEG和PNG图像格式。
- 读取图像尺寸(宽度和高度)。
- 从图像数据中提取注释。
- 轻量级且高效,专为速度设计。
安装
将 pb-imgsize
添加到您的 Cargo.toml
文件中
[dependencies]
pb-imgsize = "0.1.0"
用法
在Rust文件中包含库
use pb_imgsize as imgsize;
从图像文件读取
要读取图像文件的元数据,请使用 read_file
函数
let metadata = imgsize::read_file("path/to/image.jpg").unwrap();
从字节切片读取
要读取字节切片的元数据,请使用 read_bytes
函数
let data = include_bytes!("path/to/image.jpg");
let metadata = imgsize::read_bytes(data).unwrap();
这两个函数都返回一个包含 width
、height
和 comments
字段的 ImageMetadata
结构体。
pub struct ImageMetadata {
pub width: u32,
pub height: u32,
pub comments: Vec<Vec<u8>>,
}
示例
以下是一个示例,展示了如何使用 pb-imgsize
从JPEG文件读取元数据
use pb_imgsize as imgsize;
fn main() -> Result<(), imgsize::Error> {
let metadata = imgsize::read_file("path/to/image.jpg")?;
println!("Width: {}", metadata.width);
println!("Height: {}", metadata.height);
for comment in metadata.comments {
println!("Comment: {}", String::from_utf8_lossy(&comment));
}
Ok(())
}
错误处理
库定义了一个 Error
枚举,它封装了尝试读取图像数据时可能发生的各种错误。存在针对I/O错误和解码错误的特定错误类型。
测试
要运行测试
cargo test
许可证
MIT
贡献
欢迎贡献!请在本项目中参与时遵守项目的行为准则。
如果您有任何问题或功能请求,请随时提交问题或拉取请求。
有关更多详细信息,请参阅 pb-imgsize
库的Rust文档。