2010-03-03 5 views
0

Je développe une application de périphérique intelligent en C#. Dans ce que j'appelle les services Web. La méthode de service Web renvoie la carte Google. Le type de retour de la méthode est object []. L'objet [] contient l'image au format octet. La réponse de savon pour l'image Google Maps est xsi: type = "xs: base64Binary". Dans l'objet je ne reçois pas la chaîne. Dans l'objet j'obtiens le tableau d'octets. Donc j'attrape la réponse du service web dans la variable suivante.Comment convertir un objet [] en image dans une application de périphérique intelligent (C#)?

objet [] GoogleMap; Après le débogage, je peux voir qu'en auto, j'obtiens le résultat comme suit.

Nom: Valeur: GoogleMap {objet [1]} [0] {octet [23570]}

Je dois montrer l'image réelle dans mon application. Quel type de casting je dois faire pour afficher l'image.S'il vous plaît assurez-vous que toutes les fonctions de base de framework .net ne fonctionne pas avec framework .net compact. Pouvez-vous me fournir le code ou tout lien par lequel je peux résoudre le problème ci-dessus?

+1

Y at-il une raison quelconque vous avez accepté aucune des 16 questions que vous avez posées? –

+0

Oui, les gens pourraient arrêter de répondre à vos questions ... –

Répondre

1

Vous devez d'abord obtenir le tableau d'octets sur:

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

Ensuite, créez un MemoryStream autour:

MemoryStream stream = new MemoryStream(data); 

Maintenant, créez un Bitmap du flux:

Bitmap bitmap = new Bitmap(stream); 

Notez que vous devriez pas fermer le MemoryStream - lorsque vous disposez du Image, cela ferme le flux.

(EDIT: Changement de Image.FromStream d'appeler le constructeur Bitmap comme Image.FromStream ne semble pas être dans les FC)