Как преобразовать объект [] в изображение в приложении смарт-устройства (C #)? - PullRequest
0 голосов
/ 03 марта 2010

Я занимаюсь разработкой приложения для смарт-устройств на C #. В этом я звоню веб-сервисам. Метод веб-сервиса возвращает карту Google. Тип возвращаемого значения метода - object []. Объект [] содержит изображение в байтовом формате. Мыльный ответ для изображения Google Maps: xsi: type = "xs: base64Binary". В объекте я не получаю строку. В объекте я получаю массив байтов. Поэтому я ловлю ответ веб-службы в следующей переменной.

объект [] GoogleMap;

После отладки я вижу, что в авто я получаю результат следующим образом.

Имя: Значение: GoogleMap {объект [1]} [0] {byte [23570]}

Мне нужно отобразить фактическое изображение в моем приложении. Какой тип приведения мне нужно сделать для отображения изображения. Пожалуйста, убедитесь, что все основные функции .net framework не работают с .net compact framework. Можете ли вы предоставить мне код или любую ссылку, по которой я могу решить вышеуказанную проблему?

1 Ответ

1 голос
/ 03 марта 2010

Сначала вам нужно получить массив байтов:

byte[] data = (byte[]) objects[0];

Затем создайте MemoryStream вокруг него:

MemoryStream stream = new MemoryStream(data);

Теперь создайте Bitmap из потока:

Bitmap bitmap = new Bitmap(stream);

Обратите внимание, что вы должны , а не закрыть MemoryStream - когда вы избавитесь от Image, это закроет поток.

(РЕДАКТИРОВАТЬ: изменено с Image.FromStream на вызов конструктора Bitmap, поскольку Image.FromStream, по-видимому, отсутствует в CF.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...