Silverlight 4:如何将bmp字节数组转换为png字节数组?

我有一个wcf服务,它在byte []中返回一个bmp。 然而,Silverlight的Image控件不支持显示bmp,所以我需要将bmp byte []转换为png或jpg byte []。 那里有一个图书馆可以进行这种转换吗? 或者在silverlight客户端上显示bmp byte []的任何其他方式?

谢谢!

UPDATE1

为了实现转换,我会在.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中没有System.Drawing,我如何在Silverlight中实现上面代码的function?

使用下面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; 

这是一种更简单的方法。这个网站可能会有很多帮助

图像转换