我正在用C#开发智能设备应用程序。我正在调用Web服务。 Web服务方法返回Google地图。方法的返回类型是object []。 object []包含字节格式的图像。 Google地图图片的soap响应为xsi:type =“xs:base64Binary”。在对象中我没有得到字符串。在对象中我得到字节数组。 所以我在以下变量中捕获了web服务的响应。
object [] GoogleMap;
调试后我可以看到在auto中我得到的结果如下。
名称:价值: GoogleMap {object [1]} [0] {byte [23570]}
我需要在我的应用程序中显示实际图像。我需要做什么类型的转换来显示图像。请确保.net框架的所有核心功能都不能与.net紧凑框架一起使用。您能否提供我可以解决上述问题的代码或链接?
答案 0 :(得分:1)
首先,您需要输出字节数组:
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中。)