2011-11-26 4 views
0

내 Silverlight 프로젝트에서 varbinary를 이미지로 변환하려고합니다.silverlight에서 varbinary를 이미지로 변환 (파트 2)

먼저 내 서비스에서 내 데이터베이스의 바이너리를 얻습니다.

[OperationContract] 
    public byte[] getAfbeelding(int id) 
    { 

     var query = (from p in dc.Afbeeldings 
        where p.id == id 
        select p.source).Single(); 

     byte[] source = query.ToArray(); 

가 그럼 난에 유래에서 발견 코드를 사용하여 이미지에 VARBINARY를 변환하려고 :

public static string convertToImage(byte[] source) 
    { 
     MemoryStream ms = new MemoryStream(source); 
     Image img = Image.FromStream(ms); 
     return img.Source.ToString(); 
    } 

을하지만 밝혀, 실버 Image.FromStream가없는, 내가 시도하는 모든 예 : this thread에서 발견되었지만 그 중 아무도 실버 라이트에서 작동하지 않습니다.

'System.Windows.Controls.Image' does not contain a definition for 'FromStream' 

그래, 나는 다소 잃어버린 무엇을해야할지 모르겠다. Silverlight에서이 작업을 수행하는 방법에 대한 아이디어가 있으십니까?

답변

1

에서 자유롭게 사용할 수 확장 꽤 좋은 세트가있다. 다음 코드는 모든해야 당신이 필요합니다 imageData 유형 byte[]newImage이다

var bitmapImage = new BitmapImage(); 
bitmapImage.SetSource(new MemoryStream(imageData)); 
newImage.Source = bitmapImage; 

가 업데이트 할 이미지입니다.

+0

감사합니다. 이것은 효과가있다! : D 메서드에서 소스를 반환 할 수있는 방법이 있습니까? 변환을 처리 할 별도의 클래스를 만들어서 소스가 필요합니다. – Schoof

+0

나는 bitmapImage를 반환 할 수 있습니다. 작동하는 것 같습니다. 감사합니다! :) – Schoof

1

WriteableBitmap을 살펴 봐야합니다.

당신은 거의 맞아 codepelex 또는 Nuget

+0

도움이되는 링크 주셔서 감사하지만 이전 답변으로 작동하도록 만들었습니다. – Schoof