コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        public void ReadUnicodeStringWithNegativeLengthThrowsArgumentException()
        {
            IccDataReader reader = this.CreateReader(new byte[4]);

            Assert.Throws <ArgumentOutOfRangeException>(() => reader.ReadUnicodeString(-1));
        }
コード例 #4
0
        public void ReadAsciiStringWithNegativeLenghtThrowsArgumentException()
        {
            IccDataReader reader = CreateReader(new byte[4]);

            Assert.Throws <ArgumentOutOfRangeException>(() => reader.ReadAsciiString(-1));
        }