C# 如何将以字节为单位接收图像的对象转换为实际图像?

C# 如何将以字节为单位接收图像的对象转换为实际图像?,c#,casting,base64,C#,Casting,Base64,我正在C#中开发智能设备应用程序。在这一点上,我调用了web服务。web服务方法返回GoogleMap。方法的返回类型为object。对象包含字节格式的图像。对象以Base64二进制格式包含图像。我需要在应用程序中显示实际图像。我需要做什么类型的铸造来显示图像。您能否提供代码或任何链接,通过它们我可以解决上述问题?如果您有一个字符串,其中确实包含图像的字节,那么您需要调用static来获取字节数组: byte[] bytes = Convert.FromBase64String("base 64

我正在C#中开发智能设备应用程序。在这一点上,我调用了web服务。web服务方法返回GoogleMap。方法的返回类型为object。对象包含字节格式的图像。对象以Base64二进制格式包含图像。我需要在应用程序中显示实际图像。我需要做什么类型的铸造来显示图像。您能否提供代码或任何链接,通过它们我可以解决上述问题?

如果您有一个字符串,其中确实包含图像的字节,那么您需要调用static来获取字节数组:

byte[] bytes = Convert.FromBase64String("base 64 string");
从这里开始,您希望使用字节来定义类的名称:

MemoryStream ms = new MemoryStream(bytes);
最后,您要做的最后一个调用是对static进行调用,以获取您可以使用的:

Image image = Image.FromStream(ms);
请注意,在Image类上的FromStream方法文档的备注部分中,只要使用映像,就必须保持实例(MemoryStream从中派生)处于打开状态

还要注意的是,虽然MemoryStream的实现不使用非托管资源,也不一定需要调用,但这是根据实现详细信息编码的,而不是由Stream类定义的契约详细信息,后者指示您在使用它时应该调用Dispose


您希望执行此操作的原因是,如果图像的流是另一个子类,则需要执行此操作。例如,如果使用了一个实例,则必须在使用完该实例后对其调用Dispose(以及Image类上的Dispose方法)。

您应该能够将字节[]放入MemoryStream中,以创建如下所示的映像

byte[] yourImage;
MemoryStream ms = new MemoryStream(image);
Image.FromStream(ms);

你问了15个问题,但从未接受过回答。请不要这样做。