2012-02-10 20 views
0

私はbyte []でbmpを返すwcfサービスを持っています。しかし、SilverlightのImageコントロールはbmpの表示をサポートしていないので、bmp byte []をpngまたはjpg byte []に​​変換する必要があります。この変換を行うライブラリはありますか?または、silverlightクライアントにbmp byte []を表示する他の方法はありますか?Silverlight 4:bmpバイト配列をpngバイト配列に変換するにはどうすればよいですか?

ありがとうございます!

アップデート1

System.Drawingがどのように私は何を達成しない、Silverlightで使用できないので、私は.NET

private byte[] ConvertBmpToJpeg(byte[] bmp) 
{ 
    using (System.Drawing.Image image = System.Drawing.Image.FromStream(new MemoryStream(bmp))) 
    { 
     MemoryStream ms = new MemoryStream();     
     image.Save(ms, ImageFormat.Jpeg); 
     return ms.ToArray(); 
    } 
} 

にこのような何かをやっているだろう変換を達成するためにコードは上記のSilverlightで動作しますか? DJ krazeが言及したライブラリを使用して

回答

 ExtendedImage img = new ExtendedImage(); 
     var bd = new BmpDecoder(); 
     var je = new JpegEncoder(); 
     bd.Decode(img, new MemoryStream(bitmapBytes)); 
     MemoryStream ms = new MemoryStream(); 
     je.Encode(img, ms); 

     BitmapImage bi = new BitmapImage(); 
     bi.SetSource(new MemoryStream(ms.ToArray())); 
     display_ScreenShot.Source = bi; 

答えて

1
ここ

それを行うのも簡単な方法は..です below-このサイトでは、多くのことを助けることが

Image Converting

+0

これを試してみると、BMPバイトストリームをImageにデコードして、Pngバイトストリームへのイメージをこのライブラリでエンコードすることができると思います。すぐに更新されます! – OceanDrift

+0

私はライブラリを使って変換を得ることができました – OceanDrift

関連する問題