#exif #metadata #image #photo

little_exif

这个小库实现了对PNG和JP(E)G图像文件(未来计划支持其他文件类型,例如TIFF或HEIC)的基本EXIF(相关)元数据的读取和写入功能,其优点是仅用Rust编写,不依赖于任何第三方(C-)库来访问数据(例如,用于计算校验和或(解)压缩的依赖项也存在,但它们也用Rust编写)。

3个版本 (破坏性)

0.4.0 2024年8月16日
0.3.3 2024年7月17日
0.3.2 2024年4月14日
0.3.1 2024年2月26日
0.1.1 2022年10月8日

#296 in 图像

Download history 4/week @ 2024-05-04 11/week @ 2024-05-18 3/week @ 2024-05-25 22/week @ 2024-06-01 17/week @ 2024-06-08 27/week @ 2024-06-15 16/week @ 2024-06-22 10/week @ 2024-06-29 39/week @ 2024-07-06 123/week @ 2024-07-13 60/week @ 2024-07-20 28/week @ 2024-07-27 81/week @ 2024-08-03 122/week @ 2024-08-10 68/week @ 2024-08-17

每月315次下载
用于 moleco

MIT/Apache

120KB
3K SLoC

little_exif

一个用于纯Rust读取和写入EXIF数据的库。

版本徽章  许可证徽章 

示例

use little_exif::metadata::Metadata;
use little_exif::exif_tag::ExifTag;

let image_path = std::path::Path::new("image.png");
let mut metadata = Metadata::new_from_path(&image_path);

metadata.set_tag(
	ExifTag::ImageDescription("Hello World!".to_string())
);

metadata.write_to_file(&image_path);

许可证

许可协议为以下之一

任选其一。


lib.rs:

little_exif

一个小型crate,用于在Rust中读取和写入(至少是部分)EXIF数据。目前仅支持.png和.jp(e)g文件,以及IFD0和ExifIFD中的几十个标签。

交互通过Metadata结构体和ExifTag枚举类型进行。

使用

写入EXIF数据

use little_exif::metadata::Metadata;
use little_exif::exif_tag::ExifTag;

let mut metadata = Metadata::new();
metadata.set_tag(
    ExifTag::ImageDescription("Hello World!".to_string())
);
metadata.write_to_file(std::path::Path::new("image.png"));

依赖项

~340KB