예제 #1
0
        /// <exception cref="PngProcessingException"/>
        /// <exception cref="System.IO.IOException"/>
        public static DirectoryList ReadMetadata(Stream stream)
        {
            List <Directory>?directories = null;

            var chunks = new PngChunkReader().Extract(new SequentialStreamReader(stream), _desiredChunkTypes);

            foreach (var chunk in chunks)
            {
                if (directories == null)
                {
                    directories = new List <Directory>();
                }

                try
                {
                    directories.AddRange(ProcessChunk(chunk));
                }
                catch (Exception ex)
                {
                    directories.Add(new ErrorDirectory("Exception reading PNG chunk: " + ex.Message));
                }
            }

            return(directories ?? Directory.EmptyList);
        }
예제 #2
0
        ReadMetadata([NotNull] Stream stream)
        {
            var directories = new List <Directory>();

            var chunks = new PngChunkReader().Extract(new SequentialStreamReader(stream), _desiredChunkTypes);

            foreach (var chunk in chunks)
            {
                directories.AddRange(ProcessChunk(chunk));
            }

            return(directories);
        }
예제 #3
0
        ReadMetadata([NotNull] Stream stream)
        {
            var directories = new List <Directory>();

            var chunks = new PngChunkReader().Extract(new SequentialStreamReader(stream), _desiredChunkTypes);

            foreach (var chunk in chunks)
            {
                try
                {
                    directories.AddRange(ProcessChunk(chunk));
                }
                catch (Exception e)
                {
                    Console.Error.WriteLine(e);
                }
            }

            return(directories);
        }
            ReadMetadata([NotNull] Stream stream)
        {
            var directories = new List<Directory>();

            var chunks = new PngChunkReader().Extract(new SequentialStreamReader(stream), _desiredChunkTypes);

            foreach (var chunk in chunks)
            {
                try
                {
                    directories.AddRange(ProcessChunk(chunk));
                }
                catch (Exception e)
                {
                    Console.Error.WriteLine(e);
                }
            }

            return directories;
        }