public ResolutionInfo(ImageResource imgRes)
            : base(imgRes)
        {
            BinaryReverseReader reverseReader = imgRes.DataReader;

            HRes      = reverseReader.ReadInt16();
            HResUnit  = (ResUnit)reverseReader.ReadInt32();
            WidthUnit = (Unit)reverseReader.ReadInt16();

            VRes       = reverseReader.ReadInt16();
            VResUnit   = (ResUnit)reverseReader.ReadInt32();
            HeightUnit = (Unit)reverseReader.ReadInt16();

            reverseReader.Close();
        }
        public AlphaChannels(ImageResource imageResource)
            : base(imageResource)
        {
            _channelNames = new List <String>();
            BinaryReverseReader reverseReader = imageResource.DataReader;

            // the names are pascal strings without padding!!!
            while ((reverseReader.BaseStream.Length - reverseReader.BaseStream.Position) > 0)
            {
                Byte   stringLength = reverseReader.ReadByte();
                String s            = new String(reverseReader.ReadChars(stringLength));

                if (s.Length > 0)
                {
                    _channelNames.Add(s);
                }
            }
            reverseReader.Close();
        }