[][src]Struct dither::prelude::Opt

pub struct Opt {
    pub verbose: bool,
    pub input: PathBuf,
    pub bit_depth: u8,
    pub output: Option<PathBuf>,
    pub ditherer: Ditherer<'static>,
    pub color_mode: Mode,
}

Command-line interface & arguments. See structopt.

Fields

verbose: bool

Provide verbose debug information. Default is false.

input: PathBuf

Input file. Supported file types: PNG JPEG GIF BMP ICO TIFF

bit_depth: u8

the folder to scan for image files Color depth. Must be between 1 and 8. See create_quantize_n_bits_func and [create_convert_quantized_to_palette_func][crate::create_convert_quantized_to_palette_func]

output: Option<PathBuf>

Output file: will be written to as a .png or .jpg (inferred from file extension). If left empty, a default output path will be created: see Opt::output_path

ditherer: Ditherer<'static>

Ditherering algorithm to use. Options are

  • "floyd" (default)
  • "atkinson"
  • "stucki",
  • "burkes"
  • "jarvis"
  • "sierra3"
color_mode: Mode

Color mode to use. Options are

  • bw => grayscale with the specified bit depth. (default)
  • color => color mode with the specified bit depth.
  • cga => load the cga palette. equivalent to "cga.plt".
  • crayon => load the crayon palette. equivalent to "crayon.plt"
  • $COLOR => single-color mode. options are
  • $FILENAME" => load palette from file, listed as line-separated RGB values. see "cga.plt" and the readme for more information on palette files.

Methods

impl Opt[src]

pub fn input_path<'a>(&'a self) -> Result<PathBuf>[src]

the canonicalized input path

pub fn output_path<'a>(&'a self) -> Result<Cow<'a, Path>>[src]

the actual output path. if opts.output exists, this is that, otherwise, this is "{base}_dithered_{dither}_{color}_{depth}.png", where base is the canonicalized input path, stripped of it's extension. $dither bunny.png --color=color --dither=atkinson --depth=2 will save to bunny_atkinson_c_2.png

let mut opt = Opt::default();
opt.bit_depth=1;
opt.input = PathBuf::from("bunny.png".to_string());
let got_path = opt.output_path().unwrap();
assert_eq!("bunny_dithered_floyd_bw_1.png", Path::file_name(got_path.as_ref().as_ref()).unwrap().to_string_lossy());

Trait Implementations

impl Clone for Opt[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl PartialEq<Opt> for Opt[src]

impl Default for Opt[src]

impl Debug for Opt[src]

impl StructOpt for Opt[src]

fn from_args() -> Self[src]

Gets the struct from the command line arguments. Print the error message and quit the program in case of failure. Read more

fn from_iter<I>(iter: I) -> Self where
    I: IntoIterator,
    <I as IntoIterator>::Item: Into<OsString>,
    <I as IntoIterator>::Item: Clone
[src]

Gets the struct from any iterator such as a Vec of your making. Print the error message and quit the program in case of failure. Read more

fn from_iter_safe<I>(iter: I) -> Result<Self, Error> where
    I: IntoIterator,
    <I as IntoIterator>::Item: Into<OsString>,
    <I as IntoIterator>::Item: Clone
[src]

Gets the struct from any iterator such as a Vec of your making. Read more

Auto Trait Implementations

impl Send for Opt

impl Sync for Opt

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> SetParameter for T

fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
    T: Parameter<Self>, 

Sets value as a parameter of self.