Init commit
This commit is contained in:
+44
@@ -0,0 +1,44 @@
|
||||
use image2::*;
|
||||
use show_image::{ImageView, ImageInfo, event, create_window};
|
||||
|
||||
#[show_image::main]
|
||||
fn main() -> Result<(), Error> {
|
||||
println!("Hello, world!");
|
||||
|
||||
// Open the image
|
||||
let image = Image::<u8, Rgb>::open("/home/sweetbread/nix/screenshot.png")?;
|
||||
|
||||
// // Show the image
|
||||
// let img = ImageView::new(ImageInfo::rgb8(image.width().try_into().unwrap(), image.height().try_into().unwrap()), image.buffer());
|
||||
// let win = create_window("image", Default::default()).unwrap();
|
||||
// win.set_image("image-001", img).unwrap();
|
||||
|
||||
// // Wait until Escape will be pressed
|
||||
// for event in win.event_channel().unwrap() {
|
||||
// if let event::WindowEvent::KeyboardInput(event) = event {
|
||||
// if event.input.key_code == Some(event::VirtualKeyCode::Escape) && event.input.state.is_pressed() {
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// Create new imahe
|
||||
let mut new_image = image.new_like_with_color::<Hsv>();
|
||||
|
||||
for x in 0..image.width() {
|
||||
for y in 0..image.height() {
|
||||
let p = image.get_pixel(Point::new(x, y));
|
||||
let mut hsv_p = Pixel::<Hsv>::new();
|
||||
|
||||
for i in 0..2 {
|
||||
hsv_p[i] = p[i];
|
||||
}
|
||||
|
||||
new_image.set_pixel(Point::new(x, y), &hsv_p);
|
||||
}
|
||||
}
|
||||
|
||||
new_image.save("result.png").expect("Failed to save resulting image");
|
||||
|
||||
Ok(())
|
||||
}
|
||||
Reference in New Issue
Block a user