Create greyscale example
This commit is contained in:
1 parent
937b20bb87
commit
96d1af5b78
1 file changed
+12
-16
@@ -0,0 +1,34 @@
|
||||
use ccvl::image::*;
|
||||
|
||||
fn filter(img: Image<SRGBA>) -> Image<SRGBA> {
|
||||
img.map(|p| Luminance::from(p).into())
|
||||
}
|
||||
|
||||
fn main() -> std::process::ExitCode {
|
||||
let args = std::env::args().collect::<Vec<String>>();
|
||||
if args.len() != 3 {
|
||||
println!("Usage: {} IN OUT", args[0].as_str());
|
||||
return std::process::ExitCode::FAILURE;
|
||||
}
|
||||
|
||||
let input_path = args[1].as_str();
|
||||
let output_path = args[2].as_str();
|
||||
|
||||
match Image::load::<Farbfeld>(input_path) {
|
||||
Err(Error::Invalid) => {
|
||||
println!("{} is not a valid image", input_path);
|
||||
std::process::ExitCode::FAILURE
|
||||
}
|
||||
Err(Error::Io(err)) => {
|
||||
println!("I/O error loading image {}: {}", input_path, err);
|
||||
std::process::ExitCode::FAILURE
|
||||
}
|
||||
Ok(img) => match filter(img).save::<Farbfeld>(output_path) {
|
||||
Err(err) => {
|
||||
println!("I/O error saving image {}: {}", output_path, err);
|
||||
std::process::ExitCode::FAILURE
|
||||
}
|
||||
Ok(()) => std::process::ExitCode::SUCCESS,
|
||||
},
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user