The return value should be casted to indexed or truecolor depending on what the file is. You can also use getAsTrueColorImage to forcibly convert it if needed.
Given an input range of bytes, return a lazy PNG file
Easily reads a png file into a MemoryImage
Lazily breaks the buffered input range into png chunks, as defined in the PNG spec
Same as above, but takes a regular input range instead of a buffered one. Provided for easier compatibility with standard input ranges (for example, std.stdio.File.byChunk)
Saves a MemoryImage to a png. See also: writeImageToPngFile which uses memory a little more efficiently
Allows appending to front on a regular input range, if that range is an array. It appends to the array rather than creating an array of arrays; it's meant to make the illusion of one continuous front rather than simply adding capability to walk backward to an existing input range.
A PNG file consists of the magic number then a stream of chunks. This struct represents those chunks.
Lazily reads out basic info from a png (header, palette, image data) It will only allocate memory to read a palette, and only copies on the header and the palette. It ignores everything else.
The first chunk in a PNG file is a header that contains this info
* Buffered input range - generic, non-image code ***************************************************/ /// Is the given range a buffered input range? That is, an input range /// that also provides consumeFromFront(int) and appendToFront(
All PNG files are supposed to open with these bytes according to the spec
PNG file handling for color.d's Image interfaces