2010-08-04 4 views
2

관리 패널에서 관리하는 그림 갤러리가 포함 된 프로젝트를 개발 중입니다. 관리자 패널에 관리자에게 미리보기 이미지를 표시하여 활성화되어 있으며 최종 사용자에게 표시됩니다.C#에서 이미지 및 비트 맵으로 작업 하시겠습니까?

확인. ImageData (byte []), ImageMimeType의 두 매개 변수로 이미지를 db에 저장합니다. 따라서 처음 저장할 때 이미지의 축소판 버전을 저장하려고합니다. 나는이 ADRESS link text에서 사진의 크기를 조정하고 조작하는 몇 가지 예제 코드를 발견 :

private static Image cropImage(Image img, Rectangle cropArea) 
{ 
    Bitmap bmpImage = new Bitmap(img); 
    Bitmap bmpCrop = bmpImage.Clone(cropArea, 
    bmpImage.PixelFormat); 
    return (Image)(bmpCrop); 
} 

이 함수는 매개 변수로 이미지를 촬영. 하지만 ImageData (바이트 []) 있습니다.

그렇다면 바이트 배열을 이미지 및 이미지로 변환하려면 어떻게해야합니까?

public Image byteArrayToImage(byte[] byteArray) 
{ 
    MemoryStream ms = new MemoryStream(byteArray); 
    return Image.FromStream(ms); 
} 

이미지 바이트 배열

private static Image cropImage(byte[] imgArray, Rectangle cropArea) 
{ 
    MemoryStream ms = new MemoryStream(imgArray); 
    Image img = Image.FromStream(ms); 
    Bitmap bmpImage = new Bitmap(img); 
    Bitmap bmpCrop = bmpImage.Clone(cropArea, 
    bmpImage.PixelFormat); 
    return (Image)(bmpCrop); 
} 

답변

2

이미지 바이트 배열 :

2
public Image ByteArrayToImage(byte[] byteArrayIn) 
{ 
    MemoryStream ms = new MemoryStream(byteArrayIn); 
    Image returnImage = Image.FromStream(ms); 
    return returnImage; 
} 

다른 예

+1

이 예제를 직접 들으려면 웹 페이지를 참조해야합니다 ... – Ian

+0

맞아, 추가하겠습니다. – w69rdy

4

스트림으로부터 이미지를 만들어 많이있다 here 발견

public byte[] imageToByteArray(Image image) 
{ 
MemoryStream ms = new MemoryStream(); 
return image.Save(ms,ImageFormat.Jpeg).ToArray(); 
} 
0

이게 뭐니?

Bitmap bmpImage = new Bitmap(img); 
MemoryStream stream = new MemoryStream(); 
try { 
    bmpImage.Save(stream, bmpImage.RawFormat); 
    byte[] bytes = stream.ToArray(); 
} 
finally { 
    stream.Close(); 
    ((IDisposable)stream).Dispose(); 
} 

또한 byte []에서 MemoryStream을 만들고 해당 스트림에서 Image를로드 할 수 있습니다.

관련 문제