假如有一个从Stream构造的Image,那么在保存成文件时应该使用什么样的扩展名呢?

在IE中使用图片中,图片格式是从图片内容中析取出来的,与扩展名无关,但是,保存Image时不指定扩展名,想起来都有点不爽。

目前我使用的方法是根据Image.RawFormat与ImageFormat提供的静态属性进行Guid比较,以确定Image的格式,然后返回相应的扩展名,代码如下:
如何设置Image保存时的文件扩展名using (Image image = Image.FromStream(stream))
{
如何设置Image保存时的文件扩展名    Guid guid 
= image.RawFormat.Guid;
如何设置Image保存时的文件扩展名    
string ext = ".tmp";
如何设置Image保存时的文件扩展名
如何设置Image保存时的文件扩展名    
if (guid == ImageFormat.Bmp.Guid)
{
如何设置Image保存时的文件扩展名        ext 
= ".bmp";
如何设置Image保存时的文件扩展名    }

如何设置Image保存时的文件扩展名    
else if (guid == ImageFormat.Gif.Guid)
{
如何设置Image保存时的文件扩展名        ext 
= ".gif";
如何设置Image保存时的文件扩展名    }

如何设置Image保存时的文件扩展名    
else if (guid == ImageFormat.Jpeg.Guid)
{
如何设置Image保存时的文件扩展名        ext 
= ".jpg";
如何设置Image保存时的文件扩展名    }

如何设置Image保存时的文件扩展名
如何设置Image保存时的文件扩展名    image.Save(file 
+ ext);
如何设置Image保存时的文件扩展名}

如何设置Image保存时的文件扩展名


不知道还有没有更好的方法。

相关文章: