public HzcDecoder(IBinaryStream input, HzcMetaData info, bool leave_open = false) { m_info = info; m_stride = (int)m_info.Width * m_info.BPP / 8; switch (m_info.Type) { default: throw new NotSupportedException(); case 0: Format = PixelFormats.Bgr24; break; case 1: case 2: Format = PixelFormats.Bgra32; break; case 3: Format = PixelFormats.Gray8; break; case 4: { Format = PixelFormats.Indexed8; var colors = new Color[2] { Color.FromRgb(0, 0, 0), Color.FromRgb(0xFF, 0xFF, 0xFF) }; Palette = new BitmapPalette(colors); break; } } Source = new ZLibStream(input.AsStream, CompressionMode.Decompress, leave_open); m_frame_offset = 0; m_frame_size = m_stride * (int)Info.Height; }
public HzcDecoder(IBinaryStream input, HzcMetaData info, Entry entry) : this(input, info) { m_frame_offset = entry.Offset; m_frame_size = (int)entry.Size; }
public HzcArchive(ArcView arc, ArchiveFormat impl, ICollection <Entry> dir, HzcMetaData info) : base(arc, impl, dir) { ImageInfo = info; }