Well I can make the code you’ve got considerably simpler:
public static byte[] ConvertToBytes(this BitmapImage bitmapImage)
{
using (MemoryStream ms = new MemoryStream())
{
WriteableBitmap btmMap = new WriteableBitmap
(bitmapImage.PixelWidth, bitmapImage.PixelHeight);
// write an image into the stream
Extensions.SaveJpeg(btmMap, ms,
bitmapImage.PixelWidth, bitmapImage.PixelHeight, 0, 100);
return ms.ToArray();
}
}
… but that probably won’t solve the problem.
Another issue is that you’re only ever using the size of bitmapImage
– shouldn’t you be copying that onto btmMap
at some point?
Is there any reason you’re not just using this:
WriteableBitmap btmMap = new WriteableBitmap(bitmapImage);
Can you give us more information about where the error occurs?