Struct imagequant::Image
source · [−]pub struct Image<'a> { /* private fields */ }
Expand description
Describes image dimensions for the library.
Implementations
sourceimpl<'bitmap> Image<'bitmap>
impl<'bitmap> Image<'bitmap>
sourcepub fn new(
attr: &Attributes,
bitmap: &'bitmap [RGBA],
width: usize,
height: usize,
gamma: f64
) -> Result<Self, liq_error>
pub fn new(
attr: &Attributes,
bitmap: &'bitmap [RGBA],
width: usize,
height: usize,
gamma: f64
) -> Result<Self, liq_error>
Describe dimensions of a slice of RGBA pixels.
bitmap
must be either &[u8]
or a slice with one element per pixel (&[RGBA]
).
Use 0.
for gamma if the image is sRGB (most images are).
sourcepub fn new_unsafe_fn<CustomData: Send + Sync + 'bitmap>(
attr: &Attributes,
convert_row_fn: ConvertRowUnsafeFn<CustomData>,
user_data: *mut CustomData,
width: usize,
height: usize,
gamma: f64
) -> Result<Self, liq_error>
pub fn new_unsafe_fn<CustomData: Send + Sync + 'bitmap>(
attr: &Attributes,
convert_row_fn: ConvertRowUnsafeFn<CustomData>,
user_data: *mut CustomData,
width: usize,
height: usize,
gamma: f64
) -> Result<Self, liq_error>
Generate rows on demand using a callback function.
The callback function must be cheap (e.g. just byte-swap pixels). It will be called multiple times per row. May be called in any order from any thread.
The user data must be compatible with a primitive pointer
(i.e. not a slice, not a Trait object. Box
it if you must).
sourcepub fn new_stride(
attr: &Attributes,
bitmap: &'bitmap [RGBA],
width: usize,
height: usize,
stride: usize,
gamma: f64
) -> Result<Self, liq_error>
pub fn new_stride(
attr: &Attributes,
bitmap: &'bitmap [RGBA],
width: usize,
height: usize,
stride: usize,
gamma: f64
) -> Result<Self, liq_error>
Stride is in pixels. Allows defining regions of larger images or images with padding without copying.
sourcepub fn new_stride_copy(
attr: &Attributes,
bitmap: &[RGBA],
width: usize,
height: usize,
stride: usize,
gamma: f64
) -> Result<Image<'static>, liq_error>
pub fn new_stride_copy(
attr: &Attributes,
bitmap: &[RGBA],
width: usize,
height: usize,
stride: usize,
gamma: f64
) -> Result<Image<'static>, liq_error>
Create new image by copying bitmap
to an internal buffer, so that it makes a self-contained type.
sourcepub fn add_fixed_color(&mut self, color: liq_color) -> liq_error
pub fn add_fixed_color(&mut self, color: liq_color) -> liq_error
Reserves a color in the output palette created from this image. It behaves as if the given color was used in the image and was very important.
RGB values of liq_color are assumed to have the same gamma as the image.
It must be called before the image is quantized.
Returns error if more than 256 colors are added. If image is quantized to fewer colors than the number of fixed colors added, then excess fixed colors will be ignored.
sourcepub fn set_background<'own, 'bg: 'own>(
&'own mut self,
background: Image<'bg>
) -> Result<(), liq_error>
pub fn set_background<'own, 'bg: 'own>(
&'own mut self,
background: Image<'bg>
) -> Result<(), liq_error>
Remap pixels assuming they will be displayed on this background.
Pixels that match the background color will be made transparent if there’s a fully transparent color available in the palette.
The background image’s pixels must outlive this image
Trait Implementations
Auto Trait Implementations
impl<'a> RefUnwindSafe for Image<'a>
impl<'a> !Sync for Image<'a>
impl<'a> Unpin for Image<'a>
impl<'a> UnwindSafe for Image<'a>
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