png write functionality
This commit is contained in:
parent
9a9ad14e07
commit
5247dd593c
2
Cargo.lock
generated
2
Cargo.lock
generated
|
@ -475,7 +475,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "rndfile"
|
||||
version = "0.1.0"
|
||||
version = "0.1.1"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"image",
|
||||
|
|
|
@ -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
|
||||
|
|
15
src/main.rs
15
src/main.rs
|
@ -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(())
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue