Quiero convertir una imagen de mapa de bits a ByteArray en una aplicación de Windows Phone 7. Así que probé esto pero arroja el tiempo de ejecución Excepción "Excepción del puntero no válido". ¿Alguien puede explicar por qué lo que estoy tratando de hacer arroja una excepción? Y puede proporcionar una solución alternativa para esto.Conversión de BitmapImage en matriz de bytes
public static byte[] ConvertToBytes(this BitmapImage bitmapImage)
{
byte[] data;
// Get an Image Stream
using (MemoryStream ms = new MemoryStream())
{
WriteableBitmap btmMap = new WriteableBitmap(bitmapImage);
// write an image into the stream
Extensions.SaveJpeg(btmMap, ms,
bitmapImage.PixelWidth, bitmapImage.PixelHeight, 0, 100);
// reset the stream pointer to the beginning
ms.Seek(0, 0);
//read the stream into a byte array
data = new byte[ms.Length];
ms.Read(data, 0, data.Length);
}
//data now holds the bytes of the image
return data;
}
En realidad, he utilizado lo anterior, WriteableBitmap btmMap = new WriteableBitmap (BitmapImage); Previamente, he mostrado algo incorrecto. pero Still muestra el mismo error "Puntero inválido". – dinesh
Cuando trato de utilizar su método, termino obteniendo una imagen en negro a menos que inicialice btmMap en un mapa de bits con la imagen de mapa de bits en el constructor. No estoy seguro de si me falta algún tipo de configuración, pero pensé que podría mencionarlo. –
¿podría sugerir una forma de hacerlo en Windows 8 RT? – Mayank