3个版本
0.1.2 | 2024年5月11日 |
---|---|
0.1.1 | 2024年2月15日 |
0.1.0 | 2023年4月29日 |
#791 在 图像
用于 stitchy
59KB
1.5K SLoC
Stitchy Core
将多个现有的图像文件合并成一个输出。设计特性包括
- 用于应用常见使用的构建器结构
- 通过路径单独收集源文件,或从目录中批量收集
- 从依赖的
image
crate重新导出,该crate对库依赖性很大,输出作为image::DynamicImage
返回,该类型也由本crate重新导出以方便使用。
请参阅根项目概述以了解Stitchy生态系统的概览。
典型用法
要获取当前目录中最近更新的3个文件,按从旧到新的顺序排列,并将输出写入当前目录,请运行
use stitchy_core::{ImageFiles, FilePathWithMetadata, OrderBy, TakeFrom, Stitch, AlignmentMode, image::ImageOutputFormat};
use std::fs::File;
use std::path::PathBuf;
fn run_stitch() -> Result<(), String> {
let number_of_files = 3;
let image_contents = ImageFiles::<FilePathWithMetadata>::builder()
.add_current_directory(vec![])?
.build()?
.sort_and_truncate_by(
number_of_files,
OrderBy::Latest,
TakeFrom::Start,
false
)?
.into_image_contents(true)?;
let output = Stitch::builder()
.images(image_contents)
.alignment(AlignmentMode::Horizontal)
.stitch()?;
let mut file_path: PathBuf = std::env::current_dir().unwrap();
file_path.push("stitch.png");
let mut file_writer = File::create(file_path).unwrap();
output.write_to(&mut file_writer, ImageOutputFormat::Png)
.map_err(|_| "Image could not be written.".to_owned())?;
Ok(())
}
请参阅这些更复杂的实际用法示例
依赖项
~4MB
~63K SLoC