pub struct Frame<'a> {
pub delay: u16,
pub dispose: DisposalMethod,
pub transparent: Option<u8>,
pub needs_user_input: bool,
pub top: u16,
pub left: u16,
pub width: u16,
pub height: u16,
pub interlaced: bool,
pub palette: Option<Vec<u8, Global>>,
pub buffer: Cow<'a, [u8]>,
}
Expand description
A GIF frame
Fields
delay: u16
Frame delay in units of 10 ms.
dispose: DisposalMethod
Disposal method.
transparent: Option<u8>
Transparent index (if available).
needs_user_input: bool
True if the frame needs user input to be displayed.
top: u16
Offset from the top border of the canvas.
left: u16
Offset from the left border of the canvas.
width: u16
Width of the frame.
height: u16
Height of the frame.
interlaced: bool
True if the image is interlaced.
palette: Option<Vec<u8, Global>>
Frame local color palette if available.
buffer: Cow<'a, [u8]>
Buffer containing the image data. Only indices unless configured differently.
Implementations
sourceimpl Frame<'static>
impl Frame<'static>
sourcepub fn from_rgba(width: u16, height: u16, pixels: &mut [u8]) -> Frame<'static>
pub fn from_rgba(width: u16, height: u16, pixels: &mut [u8]) -> Frame<'static>
Creates a frame from pixels in RGBA format. Note: This method is not optimized for speed.
Panics:
- If the length of pixels does not equal
width * height * 4
.
sourcepub fn from_rgba_speed(
width: u16,
height: u16,
pixels: &mut [u8],
speed: i32
) -> Frame<'static>
pub fn from_rgba_speed(
width: u16,
height: u16,
pixels: &mut [u8],
speed: i32
) -> Frame<'static>
Creates a frame from pixels in RGBA format.
speed
is a value in the range [1, 30].
The higher the value the faster it runs at the cost of image quality.
A speed
of 10 is a good compromise between speed and quality.
Panics:
- If the length of pixels does not equal
width * height * 4
. - If
speed < 1
orspeed > 30
sourcepub fn from_palette_pixels(
width: u16,
height: u16,
pixels: &[u8],
palette: &[u8],
transparent: Option<u8>
) -> Frame<'static>
pub fn from_palette_pixels(
width: u16,
height: u16,
pixels: &[u8],
palette: &[u8],
transparent: Option<u8>
) -> Frame<'static>
Creates a frame from a palette and indexed pixels.
Panics:
- If the length of pixels does not equal
width * height
. - If the length of palette >
256 * 3
.
sourcepub fn from_indexed_pixels(
width: u16,
height: u16,
pixels: &[u8],
transparent: Option<u8>
) -> Frame<'static>
pub fn from_indexed_pixels(
width: u16,
height: u16,
pixels: &[u8],
transparent: Option<u8>
) -> Frame<'static>
Creates a frame from indexed pixels in the global palette.
Panics:
- If the length of pixels does not equal
width * height
.
sourcepub fn from_rgb(width: u16, height: u16, pixels: &[u8]) -> Frame<'static>
pub fn from_rgb(width: u16, height: u16, pixels: &[u8]) -> Frame<'static>
Creates a frame from pixels in RGB format. Note: This method is not optimized for speed.
Panics:
- If the length of pixels does not equal
width * height * 3
.
sourcepub fn from_rgb_speed(
width: u16,
height: u16,
pixels: &[u8],
speed: i32
) -> Frame<'static>
pub fn from_rgb_speed(
width: u16,
height: u16,
pixels: &[u8],
speed: i32
) -> Frame<'static>
Creates a frame from pixels in RGB format.
speed
is a value in the range [1, 30].
The higher the value the faster it runs at the cost of image quality.
A speed
of 10 is a good compromise between speed and quality.
Panics:
- If the length of pixels does not equal
width * height * 3
. - If
speed < 1
orspeed > 30