개발언어/C#

c# 이미지 전송을 위한 byte[]로 변환 메서드

1동민1 2019. 7. 10. 17:08
반응형

이미지를 메모리스트림에 넣었다가 ToArray() 메서드를 사용해 바이트 배열로 만든다.

가운데 using을 쓴 이유는 메모리 스트림 객체는 생성하고 리소스 할당 해제를 Dispose() 메서드로 해주는데, using을 쓰면 중괄호 블럭에서 벗어나면 자동으로 할당 해제가 된다.

public static byte[] ImageToByteArray(Image image) //이미지를 바이트배열 변환
{
	using (var ms = new MemoryStream())
	{
		image.Save(ms, ImageFormat.Jpeg);
		return ms.ToArray();
	}
}

private Bitmap byteArrayToImage(byte[] imgbytes) //바이트를 이미지배열로 변환
{
	using (var ms = new MemoryStream(imgbytes))
	{
		Bitmap img = Image.FromStream(ms) as Bitmap;
		return img;
	}
}
반응형