У меня есть служба wcf, которая возвращает бит в байт []. Однако управление изображениями Silverlight не поддерживает отображение bmp, поэтому мне нужно преобразовать байт bmp [] в png или jpg byte []. Есть ли там библиотека, которая делает это преобразование? Или любой другой способ отображения байт bmp [] на клиенте silverlight?Silverlight 4: Как преобразовать массив байтов BMP в массив байтов png?
Спасибо!
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();
}
}
Поскольку System.Drawing не доступен в Silverlight, как я могу добиться того, что код выше в Silverlight?
Ответ с использованием библиотеки упоминаемый диджей 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;
Пробуя это, я думаю, что декодирование BMP-потока байтов в изображение, а затем кодирование потока байтов изображения в Png может быть выполнено с помощью этой библиотеки. Скоро будет обновление! – OceanDrift
Мне удалось получить преобразование, используя библиотеку – OceanDrift