76 lines
2.4 KiB
C#
76 lines
2.4 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Drawing;
|
||
using System.Drawing.Imaging;
|
||
using System.IO;
|
||
using System.Linq;
|
||
using System.Web;
|
||
|
||
namespace WebService.SDK
|
||
{
|
||
public static class ImageHelper
|
||
{
|
||
/// <summary>
|
||
/// Image转Base64
|
||
/// </summary>
|
||
/// <param name="image"></param>
|
||
/// <returns></returns>
|
||
public static string ImageToBase64(Image image)
|
||
{
|
||
MemoryStream memoryStream = new MemoryStream();
|
||
image.Save(memoryStream, ImageFormat.Png);
|
||
byte[] inArray = memoryStream.ToArray();
|
||
memoryStream.Close();
|
||
return Convert.ToBase64String(inArray);
|
||
}
|
||
|
||
/// <summary>
|
||
/// Image转byte[]
|
||
/// </summary>
|
||
/// <param name="image"></param>
|
||
/// <returns></returns>
|
||
public static byte[] ImageToBytes(Image image)
|
||
{
|
||
ImageFormat format = image.RawFormat;
|
||
using (MemoryStream ms = new MemoryStream())
|
||
{
|
||
image.Save(ms, ImageFormat.Png);
|
||
byte[] buffer = new byte[ms.Length];
|
||
//Image.Save()会改变MemoryStream的Position,需要重新Seek到Begin
|
||
ms.Seek(0, SeekOrigin.Begin);
|
||
ms.Read(buffer, 0, buffer.Length);
|
||
return buffer;
|
||
}
|
||
}
|
||
|
||
public static Image Base64ToImage(string base64String)
|
||
{
|
||
byte[] imageBytes = Convert.FromBase64String(base64String);
|
||
MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length);
|
||
ms.Write(imageBytes, 0, imageBytes.Length);
|
||
System.Drawing.Image image = System.Drawing.Image.FromStream(ms, true);
|
||
return image;
|
||
}
|
||
|
||
/// <summary>
|
||
/// Byte[]转Image
|
||
/// </summary>
|
||
/// <param name="buffer"></param>
|
||
/// <returns></returns>
|
||
public static Image BytesToImage(this byte[] buffer)
|
||
{
|
||
MemoryStream ms = new MemoryStream(buffer);
|
||
Image image = Image.FromStream(ms);
|
||
return image;
|
||
}
|
||
|
||
public static Bitmap GetImageFromBase64(string base64string)
|
||
{
|
||
byte[] b = Convert.FromBase64String(base64string);
|
||
MemoryStream ms = new MemoryStream(b);
|
||
Bitmap bitmap = new Bitmap(ms);
|
||
return bitmap;
|
||
}
|
||
|
||
}
|
||
} |