2012-11-10 2 views
0
public System.Drawing.Image byteArrayToImage(byte[] byteArrayIn) 
{ 
    System.Drawing.Image returnImage = null; 

    try 
    { 
     MemoryStream ms = new MemoryStream(byteArrayIn); 
     returnImage = System.Drawing.Image.FromStream(ms); // parameter is invalid 

    } 
    catch (Exception ex) 
    { 
     string a = ex.ToString(); 
     // Response.Write("sfdsfn"); 
    } 

    return returnImage; 
} 

인터넷 검색은 많이했으나 유용한 답변을 얻을 수 없습니까?Byte []를 asp.net의 이미지로 변환하는 방법?

ImageConverter ic = new ImageConverter(); 
Image img = (Image)ic.ConvertFrom(byteArray); 
+0

을 감안할 때? 그것이 ''요소에 단순히 넣을 수는 없습니다. 만약 당신이 생각하고있는 것이고, 내가 사용할 수있는 대안은'System.Drawing.Image' 로의 변환을 필요로하지 않습니다. 당신의 최종 목표는 무엇입니까? – hvd

+1

매개 변수가 잘못되었음을 의미합니까? 당신이 받고있는 예외를 게시 할 수 있습니까? –

답변

-1

의 모든 help..thanks이 하나 발견 2 분 저를 툭 마찬가지로

Image returnImage = null; 
MemoryStream ms = new MemoryStream(byteArrayIn); 
returnImage = new Bitmap(ms); 

을, 당신은 내가 이상한 (Bitmap.FromStream을 사용할 수 있습니다 그것을위한 문서를 찾을 수 없습니다).

0

당신은 new Bitmap(ms) 사용할 수 있습니다 : 사전

+0

It''Image.FromStream'] (http://msdn.microsoft.com/en-us/library/93z9ee4x.aspx)이지만'Bitmap.FromStream'은'Image'에서 파생 된'Bitmap'으로 작동합니다. – hvd

+0

@hvd - 좋은 지적. 그래도, 나는 [Bitmap Methods] (http://msdn.microsoft.com/en-us/library/system.drawing.bitmap_methods.aspx)에서 찾을 수있을 것으로 예상됩니다. 다른 상속 된 멤버가 있습니다. 오 잘. 어쨌든, 그것은 또한 OP의 코드가 작동해야한다고 제안합니다. – Kobi

+0

상속 된 인스턴스 멤버가 나열되어 있지만 기본 클래스의 정적 멤버가 파생 클래스에서 액세스 할 수 있는지 여부는 언어에 따라 다르며 설명서는 C#이 아닌 .NET 용입니다. 'Bitmap.FromStream'이 컴파일되지만 조회하기 어려운 현재 상황이 개선의 여지가 있음을 인정합니다. :) – hvd

2

간단한 방법 Image.FromStream은 : 귀하의 질문에 당신은 어떻게 당신의`Image`를 사용하려는 않는, ASP.NET에 대한 것을

public Image byteArrayToImage(byte[] imgBytes) 
{ 
    using (MemoryStream imgStream = new MemoryStream(imgBytes)) 
    { 
     return Image.FromStream(imgStream); 
    } 
} 
관련 문제