Struct imagequant::QuantizationResult
source · [−]pub struct QuantizationResult { /* private fields */ }
Expand description
Remapping step, computed from Attributes::quantize()
Implementations
sourceimpl QuantizationResult
impl QuantizationResult
sourcepub fn set_dithering_level(&mut self, value: f32) -> Result<(), Error>
pub fn set_dithering_level(&mut self, value: f32) -> Result<(), Error>
Set to 1.0 to get nice smooth image
sourcepub fn set_output_gamma(&mut self, value: f64) -> Result<(), Error>
pub fn set_output_gamma(&mut self, value: f64) -> Result<(), Error>
The default is sRGB gamma (~1/2.2)
sourcepub fn output_gamma(&self) -> f64
pub fn output_gamma(&self) -> f64
Approximate gamma correction value used for the output
Colors are converted from input gamma to this gamma
sourcepub fn quantization_quality(&self) -> Option<u8>
pub fn quantization_quality(&self) -> Option<u8>
Number 0-100 guessing how nice the input image will look if remapped to this palette
sourcepub fn quantization_error(&self) -> Option<f64>
pub fn quantization_error(&self) -> Option<f64>
Approximate mean square error of the palette
sourcepub fn remapping_error(&self) -> Option<f64>
pub fn remapping_error(&self) -> Option<f64>
Approximate mean square error of the palette used for the most recent remapping
sourcepub fn remapping_quality(&self) -> Option<u8>
pub fn remapping_quality(&self) -> Option<u8>
Palette remapping error mapped back to 0-100 scale, same as the scale in Attributes::set_quality()
sourcepub fn palette(&mut self) -> &[RGBA]
pub fn palette(&mut self) -> &[RGBA]
The final palette
It’s slighly better if you get palette from the remapped()
call instead
sourcepub fn set_progress_callback<F: Fn(f32) -> ControlFlow + Sync + Send + 'static>(
&mut self,
callback: F
)
pub fn set_progress_callback<F: Fn(f32) -> ControlFlow + Sync + Send + 'static>(
&mut self,
callback: F
)
Callback called at various point of processing, which gets percentage of progress done,
and can return ControlFlow::Break
to abort further processing
sourcepub fn remapped(
&mut self,
image: &mut Image<'_>
) -> Result<(Vec<RGBA>, Vec<u8>), Error>
pub fn remapped(
&mut self,
image: &mut Image<'_>
) -> Result<(Vec<RGBA>, Vec<u8>), Error>
Remap image into a palette + indices.
Returns the palette and a 1-byte-per-pixel uncompressed bitmap
sourcepub fn remap_into(
&mut self,
image: &mut Image<'_>,
output_buf: &mut [MaybeUninit<u8>]
) -> Result<(), Error>
pub fn remap_into(
&mut self,
image: &mut Image<'_>,
output_buf: &mut [MaybeUninit<u8>]
) -> Result<(), Error>
Remap image into an existing buffer.
This is a low-level call for use when existing memory has to be reused. Use remapped()
if possible.
Writes 1-byte-per-pixel uncompressed bitmap into the pre-allocated buffer.
You should call palette()
after this call, but not before it,
because remapping refines the palette.
sourcepub fn palette_vec(&mut self) -> Vec<RGBA>
pub fn palette_vec(&mut self) -> Vec<RGBA>
The final palette, copied.
It’s slighly better if you get palette from the remapped()
call instead
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for QuantizationResult
impl Send for QuantizationResult
impl Sync for QuantizationResult
impl Unpin for QuantizationResult
impl !UnwindSafe for QuantizationResult
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more