[英]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.