class ChunkyPNG::Datastream
def from_io(io)
-
(ChunkyPNG::Datastream)
- The loaded datastream instance.
Parameters:
-
io
(IO
) -- The stream to read from.
def from_io(io) io.set_encoding(::Encoding::BINARY) verify_signature!(io) ds = new while ds.end_chunk.nil? chunk = ChunkyPNG::Chunk.read(io) case chunk when ChunkyPNG::Chunk::Header then ds.header_chunk = chunk when ChunkyPNG::Chunk::Palette then ds.palette_chunk = chunk when ChunkyPNG::Chunk::Transparency then ds.transparency_chunk = chunk when ChunkyPNG::Chunk::ImageData then ds.data_chunks << chunk when ChunkyPNG::Chunk::Physical then ds.physical_chunk = chunk when ChunkyPNG::Chunk::End then ds.end_chunk = chunk else ds.other_chunks << chunk end end ds end