繁体   English   中英

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

[英]Silverlight 4: How can I convert bmp byte array to png byte array?

我有一个wcf服务,该服务在byte []中返回bmp。 但是,Silverlight的图像控件不支持显示bmp,因此我需要将bmp字节[]转换为png或jpg字节[]。 有没有可以进行此转换的库? 还是在Silverlight客户端上显示bmp byte []的任何其他方式?

谢谢!

更新1

为了实现转换,我将在.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();
    }
 }

由于System.Drawing在Silverlight中不可用,如何实现上述代码在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;

这是一种甚至更简单的方法。.该站点可能会对您有所帮助

图像转换

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM