File size: 3,280 Bytes
c336648 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Formats;
using SixLabors.ImageSharp.Formats.Jpeg;
using System.Drawing.Imaging;
using Image = SixLabors.ImageSharp.Image;
namespace PNGMetadataViewer
{
internal static class ImageExtensions
{
#region Public Methods
/// <summary>
/// Extension method that converts a Image to an byte array
/// </summary>
/// <param name="imageIn">The Image to convert</param>
/// <returns>An byte array containing the JPG format Image</returns>
public static byte[] ToArray(this SixLabors.ImageSharp.Image imageIn)
{
using (MemoryStream ms = new MemoryStream())
{
imageIn.Save(ms, JpegFormat.Instance);
return ms.ToArray();
}
}
/// <summary>
/// Extension method that converts a Image to an byte array
/// </summary>
/// <param name="imageIn">The Image to convert</param>
/// <param name="fmt"></param>
/// <returns>An byte array containing the JPG format Image</returns>
public static byte[] ToArray(this SixLabors.ImageSharp.Image imageIn, IImageFormat fmt)
{
using (MemoryStream ms = new MemoryStream())
{
imageIn.Save(ms, fmt);
return ms.ToArray();
}
}
/// <summary>
/// Extension method that converts a Image to an byte array
/// </summary>
/// <param name="imageIn">The Image to convert</param>
/// <returns>An byte array containing the JPG format Image</returns>
public static byte[] ToArray(this global::System.Drawing.Image imageIn)
{
return ToArray(imageIn, ImageFormat.Png);
}
/// <summary>
/// Converts the image data into a byte array.
/// </summary>
/// <param name="imageIn">The image to convert to an array</param>
/// <param name="fmt">The format to save the image in</param>
/// <returns>An array of bytes</returns>
public static byte[] ToArray(this global::System.Drawing.Image imageIn, ImageFormat fmt)
{
using (MemoryStream ms = new MemoryStream())
{
imageIn.Save(ms, fmt);
return ms.ToArray();
}
}
/// <summary>
/// Extension method that converts a byte array with JPG data to an Image
/// </summary>
/// <param name="byteArrayIn">The byte array with JPG data</param>
/// <returns>The reconstructed Image</returns>
public static Image ToImage(this byte[] byteArrayIn)
{
using (MemoryStream ms = new MemoryStream(byteArrayIn))
{
Image returnImage = Image.Load(ms);
return returnImage;
}
}
public static global::System.Drawing.Image ToNetImage(this byte[] byteArrayIn)
{
using (MemoryStream ms = new MemoryStream(byteArrayIn))
{
global::System.Drawing.Image returnImage = global::System.Drawing.Image.FromStream(ms);
return returnImage;
}
}
#endregion Public Methods
}
}
|