class ChunkyPNG::Palette
def self.from_chunks(palette_chunk, transparency_chunk = nil)
- See: ChunkyPNG::Palette#can_decode? -
Returns:
-
(ChunkyPNG::Palette)
- The loaded palette instance.
Parameters:
-
The
(ChunkyPNG::Chunk::Transparency, nil
) -- optional transparency chunk. -
The
(ChunkyPNG::Chunk::Palette
) -- palette chunk to load from
def self.from_chunks(palette_chunk, transparency_chunk = nil) return nil if palette_chunk.nil? decoding_map = [] index = 0 palatte_bytes = palette_chunk.content.unpack('C*') if transparency_chunk alpha_channel = transparency_chunk.content.unpack('C*') else alpha_channel = [] end index = 0 palatte_bytes.each_slice(3) do |bytes| bytes << alpha_channel.fetch(index, ChunkyPNG::Color::MAX) decoding_map << ChunkyPNG::Color.rgba(*bytes) index += 1 end self.new(decoding_map, decoding_map) end