/* * GNU AFFERO GENERAL PUBLIC LICENSE * Version 3, 19 November 2007 * Copyright (C) 2007 Free Software Foundation, Inc. * Everyone is permitted to copy and distribute verbatim copies * of this license document, but changing it is not allowed. */ using System.IO; using Emgu.CV; using Emgu.CV.Structure; using SixLabors.ImageSharp; using SixLabors.ImageSharp.PixelFormats; using UVtools.Parser; namespace UVtools.GUI.Extensions { public static class ImageSharpExtensions { public static System.Drawing.Bitmap ToBitmap(this Image image) { using (var memoryStream = new MemoryStream()) { //var imageEncoder = image.GetConfiguration().ImageFormatsManager.FindEncoder(SixLabors.ImageSharp.Formats.Bmp.BmpFormat.Instance); Helpers.BmpEncoder.SupportTransparency = true; image.Save(memoryStream, Helpers.BmpEncoder); memoryStream.Seek(0, SeekOrigin.Begin); return new System.Drawing.Bitmap(memoryStream); } } public static Image ToEmguImage(this Image image) { return new Image(image.Width, image.Height) { Bytes = Helpers.ImageL8ToBytes(image) }; } /*public static Image ToImageSharpImage(this System.Drawing.Bitmap bitmap) where TPixel : struct, IPixel { using (var memoryStream = new MemoryStream()) { bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Png); memoryStream.Seek(0, SeekOrigin.Begin); return Image.Load(memoryStream); } }*/ } }