# Struct oxipng::Options [−] [src]

    pub struct Options {
        pub backup: bool,
        pub out_file: PathBuf,
        pub out_dir: Option<PathBuf>,
        pub stdout: bool,
        pub fix_errors: bool,
        pub pretend: bool,
        pub recursive: bool,
        pub clobber: bool,
        pub create: bool,
        pub force: bool,
        pub preserve_attrs: bool,
        pub verbosity: Option<u8>,
        pub filter: HashSet<u8>,
        pub interlace: Option<u8>,
        pub compression: HashSet<u8>,
        pub memory: HashSet<u8>,
        pub strategies: HashSet<u8>,
        pub window: u8,
        pub bit_depth_reduction: bool,
        pub color_type_reduction: bool,
        pub palette_reduction: bool,
        pub idat_recoding: bool,
        pub strip: Headers,
        pub use_heuristics: bool,
    }

Options controlling the output of the `optimize` function

## Fields

`backup` | Whether the input file should be backed up before writing the output
`out_file` | Path to write the output file to
`out_dir` | Used only in CLI interface
`stdout` | Write to stdout instead of a file
`fix_errors` | Attempt to fix errors when decoding the input file
`pretend` | Don't actually write any output, just calculate the best results
`recursive` | Used only in CLI interface
`clobber` | Overwrite existing output files
`create` | Create new output files if they don't exist
`force` | Write to output even if there was no improvement in compression
`preserve_attrs` | Ensure the output file has the same permissions as the input file
`verbosity` | How verbose the console logging should be (`None` for quiet, `Some(0)` for normal, `Some(1)` for verbose)
`filter` | Which filters to try on the file (0-5)
`interlace` | Whether to change the interlacing type of the file `None` will not change the current interlacing type `Some(x)` will change the file to interlacing mode `x`
`compression` | Which zlib compression levels to try on the file (1-9)
`memory` | Which zlib memory levels to try on the file (1-9)
`strategies` | Which zlib compression strategies to try on the file (0-3)
`window` | Window size to use when compressing the file, as `2^window` bytes Doesn't affect compression but may affect speed and memory usage 15 is recommended default, 8-15 are valid values
`bit_depth_reduction` | Whether to attempt bit depth reduction
`color_type_reduction` | Whether to attempt color type reduction
`palette_reduction` | Whether to attempt palette reduction
`idat_recoding` | Whether to perform IDAT recoding If any type of reduction is performed, IDAT recoding will be performed regardless of this setting
`strip` | Which headers to strip from the PNG file, if any
`use_heuristics` | Whether to use heuristics to pick the best filter and compression Intended for use with `-o 1` from the CLI interface

## Trait Implementations

### Derived Implementations

### `impl Debug for Options`

#### `fn fmt(&self, __arg_0: &mut Formatter) -> Result`

### `impl Clone for Options`

#### `fn clone(&self) -> Options`

#### 1.0.0 `fn clone_from(&mut self, source: &Self)`

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)