private IccTagDataEntry[] ReadTagData(IccDataReader reader) { IccTagTableEntry[] tagTable = this.ReadTagTable(reader); IccTagDataEntry[] entries = new IccTagDataEntry[tagTable.Length]; for (int i = 0; i < tagTable.Length; i++) { IccTagDataEntry entry = reader.ReadTagDataEntry(tagTable[i]); entry.TagSignature = tagTable[i].Signature; entries[i] = entry; } return(entries); }
private IccTagTableEntry[] ReadTagTable(IccDataReader reader) { reader.SetIndex(128); // An ICC header is 128 bytes long uint tagCount = reader.ReadUInt32(); IccTagTableEntry[] table = new IccTagTableEntry[tagCount]; for (int i = 0; i < tagCount; i++) { uint tagSignature = reader.ReadUInt32(); uint tagOffset = reader.ReadUInt32(); uint tagSize = reader.ReadUInt32(); table[i] = new IccTagTableEntry((IccProfileTag)tagSignature, tagOffset, tagSize); } return(table); }
public void ReadUnicodeStringWithNegativeLengthThrowsArgumentException() { IccDataReader reader = this.CreateReader(new byte[4]); Assert.Throws <ArgumentOutOfRangeException>(() => reader.ReadUnicodeString(-1)); }
public void ReadAsciiStringWithNegativeLenghtThrowsArgumentException() { IccDataReader reader = CreateReader(new byte[4]); Assert.Throws <ArgumentOutOfRangeException>(() => reader.ReadAsciiString(-1)); }