Documentation ¶
Overview ¶
Package png implements a PNG image decoder and encoder. It is a fork of the standard library's png package, but with a focus on memory usage and speed on image.NRGBA images.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CompressionLevel ¶
type CompressionLevel int
CompressionLevel indicates the compression level.
const ( DefaultCompression CompressionLevel = 0 NoCompression CompressionLevel = -1 BestSpeed CompressionLevel = -2 BestCompression CompressionLevel = -3 )
type Decoder ¶
type Decoder struct {
// contains filtered or unexported fields
}
A Decoder is a row-by-row decoder for png image.NRGBA images. Compared to the standard library, it reduces memory usage by loading only the current row.
func NewDecoder ¶
NewDecoder decodes the metadata of an image data stream.
type Encoder ¶
type Encoder struct { CompressionLevel CompressionLevel // BufferPool optionally specifies a buffer pool to get temporary // EncoderBuffers when encoding an image. BufferPool EncoderBufferPool }
Encoder configures encoding PNG images.
func NewEncoder ¶
func NewEncoder(level CompressionLevel) *Encoder
NewEncoder returns a png image encoder. It supports only image.NRGBA images. It is roughly 5x (10x for identical RGBA images) faster than the standard library, according to the profiling results in https://github.com/golang/go/issues/51982#issuecomment-1085538951
type EncoderBuffer ¶
type EncoderBuffer encoder
EncoderBuffer holds the buffers used for encoding PNG images.
type EncoderBufferPool ¶
type EncoderBufferPool interface { Get() *EncoderBuffer Put(*EncoderBuffer) }
EncoderBufferPool is an interface for getting and returning temporary instances of the EncoderBuffer struct. This can be used to reuse buffers when encoding multiple images.
type FormatError ¶
type FormatError string
A FormatError reports that the input is not a valid PNG.
func (FormatError) Error ¶
func (e FormatError) Error() string
type UnsupportedError ¶
type UnsupportedError string
An UnsupportedError reports that the input uses a valid but unimplemented PNG feature.
func (UnsupportedError) Error ¶
func (e UnsupportedError) Error() string