private static MemoryStream GetDecompressedMemoryStream(string id) { if (string.IsNullOrEmpty(id)) { throw new InvalidIdEmptyException(); } byte[] array = Convert.FromBase64String(id); if (array.Length == 0) { throw new InvalidIdEmptyException(); } CompressionId compressionId = (CompressionId)array[0]; if (compressionId != CompressionId.NoCompression && compressionId != CompressionId.RleCompression) { ServiceIdConverter.TraceDebug("[IdConverter::IsPublicFolder] Invalid compression id"); throw new InvalidIdMalformedException(); } IIdCompressor idCompressor2; if (compressionId != CompressionId.RleCompression) { IIdCompressor idCompressor = ServiceIdConverter.passthruCompressor; idCompressor2 = idCompressor; } else { idCompressor2 = ServiceIdConverter.rleCompressor; } IIdCompressor idCompressor3 = idCompressor2; return(idCompressor3.Decompress(array, 1024)); }
/// <summary> /// Generates a hash code for the current instance. /// </summary> /// <returns> /// A <see cref="int" /> value containing the hash code for /// the current instance. /// </returns> public override int GetHashCode() { unchecked { return((int)(HeaderSize ^ width ^ height ^ Planes ^ BitCount ^ CompressionId.ToUInt() ^ ImageSize ^ XPixelsPerMeter ^ YPixelsPerMeter ^ ColorsUsed ^ ImportantColors)); } }