diff options
Diffstat (limited to 'vendor/gif/examples')
-rw-r--r-- | vendor/gif/examples/check.rs | 41 | ||||
-rw-r--r-- | vendor/gif/examples/explode.rs | 44 |
2 files changed, 0 insertions, 85 deletions
diff --git a/vendor/gif/examples/check.rs b/vendor/gif/examples/check.rs deleted file mode 100644 index 89a6123..0000000 --- a/vendor/gif/examples/check.rs +++ /dev/null @@ -1,41 +0,0 @@ -use std::{env, fs, process}; - -fn main() { - let file = env::args().nth(1) - .unwrap_or_else(|| explain_usage()); - let file = fs::File::open(&file) - .expect("failed to open input file"); - let mut reader = { - let mut options = gif::DecodeOptions::new(); - options.allow_unknown_blocks(true); - options.read_info(file).unwrap() - }; - - loop { - let frame = match reader.read_next_frame() { - Ok(Some(frame)) => frame, - Ok(None) => break, - Err(error) => { - println!("Error: {:?}", error); - break; - } - }; - - println!( - " Frame:\n \ - delay: {:?}\n \ - canvas: {}x{}+{}+{}\n \ - dispose: {:?}\n \ - needs_input: {:?}", - frame.delay, - frame.width, frame.height, frame.left, frame.top, - frame.dispose, - frame.needs_user_input - ); - } -} - -fn explain_usage() -> ! { - println!("Print information on the frames of a gif.\n\nUsage: check <file>"); - process::exit(1) -} diff --git a/vendor/gif/examples/explode.rs b/vendor/gif/examples/explode.rs deleted file mode 100644 index caa3c34..0000000 --- a/vendor/gif/examples/explode.rs +++ /dev/null @@ -1,44 +0,0 @@ -//! Exports each GIF frame as a separate image. - -use std::env; -use std::fs::File; -use std::path::PathBuf; - -fn main() -> Result<(), Box<dyn std::error::Error>> { - let input_path = PathBuf::from( - env::args_os() - .nth(1) - .ok_or("Specify a GIF path as the first argument")?, - ); - - let input = File::open(&input_path)?; - let mut options = gif::DecodeOptions::new(); - options.set_color_output(gif::ColorOutput::Indexed); - let mut decoder = options.read_info(input)?; - let screen_width = decoder.width(); - let screen_height = decoder.height(); - let global_pal = decoder.global_palette().unwrap_or_default().to_vec(); - - let output_file_stem = input_path.file_stem().unwrap().to_str().unwrap(); - let mut frame_number = 1; - while let Some(frame) = decoder.read_next_frame()? { - let output_path = format!("{}.{:03}.gif", output_file_stem, frame_number); - let mut output = File::create(&output_path)?; - let mut encoder = gif::Encoder::new(&mut output, screen_width, screen_height, &global_pal)?; - encoder.write_frame(&frame)?; - frame_number += 1; - - use gif::DisposalMethod::*; - let disposal = match frame.dispose { - Any => "any", - Keep => "keep", - Background => "background", - Previous => "previous", - }; - eprintln!( - "Written {} ({}x{}@{}x{} delay={} {})", - output_path, frame.width, frame.height, frame.top, frame.left, frame.delay, disposal - ); - } - Ok(()) -} |