首页 文章

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

提问于
浏览
0

我有一个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中实现上面代码的功能?

Answer 使用下面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 回答

  • 1

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

    Image Converting

相关问题