Struct png::StreamWriter [−][src]
pub struct StreamWriter<'a, W: Write> { /* fields omitted */ }
Expand description
Implementations
Set the used filter type for the next frame.
The default filter is FilterType::Sub
which provides a basic prediction algorithm for
sample values based on the previous. For a potentially better compression ratio, at the
cost of more complex processing, try out FilterType::Paeth
.
Set the adaptive filter type for the next frame.
Adaptive filtering attempts to select the best filter for each line
based on heuristics which minimize the file size for compression rather
than use a single filter for the entire image. The default method is
AdaptiveFilterType::NonAdaptive
.
pub fn set_frame_delay(
&mut self,
numerator: u16,
denominator: u16
) -> Result<(), EncodingError>
pub fn set_frame_delay(
&mut self,
numerator: u16,
denominator: u16
) -> Result<(), EncodingError>
Set the fraction of time the following frames are going to be displayed, in seconds
If the denominator is 0, it is to be treated as if it were 100 (that is, the numerator then specifies 1/100ths of a second). If the the value of the numerator is 0 the decoder should render the next frame as quickly as possible, though viewers may impose a reasonable lower bound.
This method will return an error if the image is not animated.
Set the dimension of the following frames.
This function will return an error when:
-
The image is not an animated;
-
The selected dimension, considering also the current frame position, goes outside the image boudries;
-
One or both the width and height are 0;
Set the position of the following frames.
An error will be returned if:
-
The image is not animated;
-
The selected position, considering also the current frame dimension, goes outside the image boudries;
Set the frame dimension to occupy all the image, starting from the current position.
To reset the frame to the full image size reset_frame_position
should be called first.
This method will return an error if the image is not animated.
Set the frame position to (0, 0).
Equivalent to calling set_frame_position(0, 0)
.
This method will return an error if the image is not animated.
Set the blend operation for the following frames.
The blend operation specifies whether the frame is to be alpha blended into the current output buffer content, or whether it should completely replace its region in the output buffer.
See the BlendOp
documentaion for the possible values and their effects.
Note that for the first frame the two blend modes are functionally equivalent due to the clearing of the output buffer at the beginning of each play.
This method will return an error if the image is not animated.
Set the dispose operation for the following frames.
The dispose operation specifies how the output buffer should be changed at the end of the delay (before rendering the next frame)
See the DisposeOp
documentaion for the possible values and their effects.
Note that if the first frame uses DisposeOp::Previous
it will be treated as DisposeOp::Background
.
This method will return an error if the image is not animated.
Trait Implementations
Write a buffer into this writer, returning how many bytes were written. Read more
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
can_vector
)Determines if this Write
r has an efficient write_vectored
implementation. Read more
Attempts to write an entire buffer into this writer. Read more
write_all_vectored
)Attempts to write multiple buffers into this writer. Read more
Writes a formatted string into this writer, returning any error encountered. Read more