png write functionality

This commit is contained in:
Ren Kararou 2023-11-13 14:13:37 -06:00
parent 9a9ad14e07
commit 5247dd593c
Signed by: spicywolf
GPG key ID: B0BA4EEC0714F8E6
3 changed files with 14 additions and 5 deletions

2
Cargo.lock generated
View file

@ -475,7 +475,7 @@ dependencies = [
[[package]]
name = "rndfile"
version = "0.1.0"
version = "0.1.1"
dependencies = [
"clap",
"image",

View file

@ -1,6 +1,6 @@
[package]
name = "rndfile"
version = "0.1.0"
version = "0.1.1"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View file

@ -2,7 +2,7 @@
use clap::Parser;
#[cfg(feature = "image")]
use image::GenericImageView;
use image::{GenericImageView, ImageFormat};
use rand::seq::SliceRandom;
use walkdir::WalkDir;
@ -23,6 +23,9 @@ struct Args {
#[arg(long, short)]
out: Option<String>, // Output file
#[cfg(feature = "image")]
#[arg(long, short)]
png: Option<String>,
#[cfg(feature = "image")]
#[arg(long)]
width: Option<u32>,
#[cfg(feature = "image")]
@ -137,8 +140,14 @@ fn main() -> Result<(), Error> {
f.flush()
.expect("unable to flush outfile (something has gone comically wrong)");
}
} else {
println!("{}", pick.display());
}
#[cfg(feature = "image")]
if let Some(png) = args.png.to_owned() {
if let Ok(img) = image::open(&pick) {
img.save_with_format(&png, ImageFormat::Png)
.expect("unable to write png");
};
};
println!("{}", pick.display());
Ok(())
}