internal static DxfThumbnailImageSection ThumbnailImageSectionFromBuffer(DxfCodePairBufferReader buffer) { if (buffer.ItemsRemain) { var lengthPair = buffer.Peek(); buffer.Advance(); if (lengthPair.Code != 90) { return(null); } var length = lengthPair.IntegerValue; var lines = new List <string>(); while (buffer.ItemsRemain) { var pair = buffer.Peek(); buffer.Advance(); if (DxfCodePair.IsSectionEnd(pair)) { break; } Debug.Assert(pair.Code == 310); lines.Add(pair.StringValue); } var section = new DxfThumbnailImageSection(); section.Clear(); section.RawData = DxfCommonConverters.HexBytes(string.Join(string.Empty, lines.ToArray())); return(section); } return(null); }
internal static DxfThumbnailImageSection ThumbnailImageSectionFromBuffer(DxfCodePairBufferReader buffer) { if (buffer.ItemsRemain) { var lengthPair = buffer.Peek(); buffer.Advance(); if (lengthPair.Code != 90) { return(null); } var length = lengthPair.IntegerValue; var rawData = new List <byte>(); while (buffer.ItemsRemain) { var pair = buffer.Peek(); buffer.Advance(); if (DxfCodePair.IsSectionEnd(pair)) { break; } Debug.Assert(pair.Code == 310); rawData.AddRange(pair.BinaryValue); } var section = new DxfThumbnailImageSection(); section.Clear(); section.RawData = rawData.ToArray(); return(section); } return(null); }