假如有一个从Stream构造的Image,那么在保存成文件时应该使用什么样的扩展名呢?
在IE中使用图片中,图片格式是从图片内容中析取出来的,与扩展名无关,但是,保存Image时不指定扩展名,想起来都有点不爽。
目前我使用的方法是根据Image.RawFormat与ImageFormat提供的静态属性进行Guid比较,以确定Image的格式,然后返回相应的扩展名,代码如下:
不知道还有没有更好的方法。
在IE中使用图片中,图片格式是从图片内容中析取出来的,与扩展名无关,但是,保存Image时不指定扩展名,想起来都有点不爽。
目前我使用的方法是根据Image.RawFormat与ImageFormat提供的静态属性进行Guid比较,以确定Image的格式,然后返回相应的扩展名,代码如下:
using (Image image = Image.FromStream(stream))
{
Guid guid = image.RawFormat.Guid;
string ext = ".tmp";
if (guid == ImageFormat.Bmp.Guid)
{
ext = ".bmp";
}
else if (guid == ImageFormat.Gif.Guid)
{
ext = ".gif";
}
else if (guid == ImageFormat.Jpeg.Guid)
{
ext = ".jpg";
}
image.Save(file + ext);
}
{
Guid guid = image.RawFormat.Guid;
string ext = ".tmp";
if (guid == ImageFormat.Bmp.Guid)
{
ext = ".bmp";
}
else if (guid == ImageFormat.Gif.Guid)
{
ext = ".gif";
}
else if (guid == ImageFormat.Jpeg.Guid)
{
ext = ".jpg";
}
image.Save(file + ext);
}
不知道还有没有更好的方法。