public void ImageCastAndSaveToFile(byte[] bytes, ImageSize imageSize, ImageFormat format, string physicalPath) { using (var image = Image.Load(bytes)) { var encoder = image.GetConfiguration().ImageFormatsManager.FindEncoder(format.GetFormat()); image.Mutate(x => x .Resize(imageSize.GetSize())); image.Save(physicalPath, encoder); } }
public byte[] ImageCast(byte[] bytes, ImageSize imageSize, ImageFormat format) { using (var image = Image.Load(bytes)) { image.Mutate(x => x .Resize(imageSize.GetSize())); using (var stream = new MemoryStream()) { var encoder = image.GetConfiguration().ImageFormatsManager.FindEncoder(format.GetFormat()); image.Save(stream, encoder); stream.Seek(0, SeekOrigin.Begin); var result = new byte[stream.Length]; stream.Read(result, 0, result.Length); return(result); } } }
/// <summary> /// Creates an <see cref="T:DesktopSprites.SpriteManagement.AnimatedImage`1"/> from a static image file. /// </summary> /// <param name="staticImageFactory">The method the creates a <typeparamref name="T"/> object for a non-GIF file.</param> private void AnimatedImageFromStaticFormat(Func <string, T> staticImageFactory) { Size = ImageSize.GetSize(FilePath); LoopCount = 0; frames = new T[] { staticImageFactory(FilePath) }.ToImmutableArray(); }