[C#] 이미지를 바이트 배열로 변환하기 (Image to byte[])
#region ImageToBytes
/// <summary>
/// 이미지를 바이트 배열로 변환합니다.
/// </summary>
/// <param name="image">변환할 이미지입니다.</param>
/// <returns>바이트배열입니다.</returns>
byte[] ImageToBytes(Image image)
{
// 이미지 포멧을 가져옵니다.
ImageFormat imageFormat = image.RawFormat;
using (MemoryStream memoryStream = new MemoryStream())
{
// 이미지 포멧에 따라 스트림에 이미지를 저장합니다.
if (imageFormat.Equals(ImageFormat.Jpeg))
{
image.Save(memoryStream, ImageFormat.Jpeg);
}
else if (imageFormat.Equals(ImageFormat.Png))
{
image.Save(memoryStream, ImageFormat.Png);
}
else if (imageFormat.Equals(ImageFormat.Bmp))
{
image.Save(memoryStream, ImageFormat.Bmp);
}
else if (imageFormat.Equals(ImageFormat.Gif))
{
image.Save(memoryStream, ImageFormat.Gif);
}
else if (imageFormat.Equals(ImageFormat.Icon))
{
image.Save(memoryStream, ImageFormat.Icon);
}
// 배열을 선언합니다.
byte[] buffer = new byte[memoryStream.Length];
// 배열을 체웁니다.
memoryStream.Seek(0, SeekOrigin.Begin);
memoryStream.Read(buffer, 0, buffer.Length);
return buffer;
}
}
#endregion