Exemplo n.º 1
0
        protected override void WriteExt(ByteBuilder bb)
        {
            bb.WritePicAbsCoord(ref _coord);
            var sizePos = bb.Position;

            bb.AddShortBE(0); // Потом вернемся, чтобы записать размер данных

            bb.AddShortBE(Width);
            bb.AddShortBE(Height);
            bb.AddShortBE(0);
            bb.AddByte(_transpCol);
            bb.AddByte(0);
            WriteImageData(bb);

            var endPos = bb.Position;
            var size   = endPos - sizePos - 2;

            if (size > 0xffff)
            {
                throw new FormatException("Too big image data");
            }

            bb.SetShortBE(sizePos, (ushort)size);
        }