示例#1
0
 /// <summary>
 /// Read basic information about an image with multiple frames/pages.
 /// </summary>
 /// <param name="fileName">The fully qualified name of the image file, or the relative image file name.</param>
 /// <returns>A <see cref="IMagickImageInfo"/> iteration.</returns>
 /// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
 public static IEnumerable <IMagickImageInfo> ReadCollection(string fileName)
 {
     using (IMagickImageCollection images = new MagickImageCollection())
     {
         images.Ping(fileName);
         foreach (MagickImage image in images)
         {
             MagickImageInfo info = new MagickImageInfo();
             info.Initialize(image);
             yield return(info);
         }
     }
 }
示例#2
0
 /// <summary>
 /// Read basic information about an image with multiple frames/pages.
 /// </summary>
 /// <param name="data">The byte array to read the information from.</param>
 /// <param name="offset">The offset at which to begin reading data.</param>
 /// <param name="count">The maximum number of bytes to read.</param>
 /// <returns>A <see cref="IMagickImageInfo"/> iteration.</returns>
 /// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
 public static IEnumerable <IMagickImageInfo> ReadCollection(byte[] data, int offset, int count)
 {
     using (IMagickImageCollection images = new MagickImageCollection())
     {
         images.Ping(data, offset, count);
         foreach (MagickImage image in images)
         {
             MagickImageInfo info = new MagickImageInfo();
             info.Initialize(image);
             yield return(info);
         }
     }
 }
示例#3
0
        /// <summary>
        /// Read basic information about an image with multiple frames/pages.
        /// </summary>
        /// <param name="data">The span of bytes to read the information from.</param>
        /// <returns>A <see cref="IMagickImageInfo"/> iteration.</returns>
        /// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
        public static IReadOnlyCollection <IMagickImageInfo> ReadCollection(ReadOnlySpan <byte> data)
        {
            var result = new List <MagickImageInfo>();

            using (var images = new MagickImageCollection())
            {
                images.Ping(data);
                foreach (var image in images)
                {
                    var info = new MagickImageInfo();
                    info.Initialize(image);
                    result.Add(info);
                }
            }

            return(result);
        }