Chcę przekonwertować bitmapimage na ByteArray w aplikacji Windows Phone 7. Próbowałem tego, ale rzucił wyjątek Runtime "Invalid Pointer Exception". Czy ktoś może wyjaśnić, dlaczego to, co próbuję zrobić, rzuca wyjątek. Czy możesz podać alternatywne rozwiązanie tego problemu.Konwersja bitmapy do tablicy bajtów
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;
}
Właściwie Użyłem powyższą rzecz, WriteableBitmap btmMap = new WriteableBitmap (BitmapImage); Wcześniej pokazałem niewłaściwą rzecz. ale wciąż pokazuje ten sam błąd "nieprawidłowy wskaźnik". – dinesh
Kiedy próbuję użyć twojej metody, kończę otrzymywanie czarnego obrazu, chyba że zainicjuję btmMap na WritableBitmap używając BitmapImage w konstruktorze. Nie jestem pewien, czy brakuje mi jakiejś konfiguracji, ale pomyślałem, że o tym wspomnę. –
czy możesz zaproponować sposób, aby to zrobić w systemie Windows 8 RT? – Mayank