Type Alias image::codecs::pnm::PNMEncoder

source ·
pub type PNMEncoder<W> = PnmEncoder<W>;
👎Deprecated: Use PnmEncoder instead
Expand description

PNM Encoder

An alias of PnmEncoder.

TODO: remove

Aliased Type§

struct PNMEncoder<W> { /* private fields */ }

Implementations

source§

impl<W: Write> PnmEncoder<W>

source

pub fn new(writer: W) -> Self

Create new PNMEncoder from the writer.

The encoded images will have some pnm format. If more control over the image type is required, use either one of with_subtype or with_header. For more information on the behaviour, see with_dynamic_header.

source

pub fn with_subtype(self, subtype: PNMSubtype) -> Self

Encode a specific pnm subtype image.

The magic number and encoding type will be chosen as provided while the rest of the header data will be generated dynamically. Trying to encode incompatible images (e.g. encoding an RGB image as Graymap) will result in an error.

This will overwrite the effect of earlier calls to with_header and with_dynamic_header.

source

pub fn with_header(self, header: PnmHeader) -> Self

Enforce the use of a chosen header.

While this option gives the most control over the actual written data, the encoding process will error in case the header data and image parameters do not agree. It is the users obligation to ensure that the width and height are set accordingly, for example.

Choose this option if you want a lossless decoding/encoding round trip.

This will overwrite the effect of earlier calls to with_subtype and with_dynamic_header.

source

pub fn with_dynamic_header(self) -> Self

Create the header dynamically for each image.

This is the default option upon creation of the encoder. With this, most images should be encodable but the specific format chosen is out of the users control. The pnm subtype is chosen arbitrarily by the library.

This will overwrite the effect of earlier calls to with_subtype and with_header.

source

pub fn encode<'s, S>( &mut self, image: S, width: u32, height: u32, color: ColorType, ) -> ImageResult<()>
where S: Into<FlatSamples<'s>>,

Encode an image whose samples are represented as u8.

Some pnm subtypes are incompatible with some color options, a chosen header most certainly with any deviation from the original decoded image.

Trait Implementations

source§

impl<W: Write> ImageEncoder for PnmEncoder<W>

source§

fn write_image( self, buf: &[u8], width: u32, height: u32, color_type: ColorType, ) -> ImageResult<()>

Writes all the bytes in an image to the encoder. Read more