private ImageFormat GetImageFormat(FileStream file, out string format)
{
byte[] sb = new byte[2]; //这次读取的就是直接0-1的位置长度了.
file.Read(sb, 0, sb.Length);
//根据文件头判断
string strFlag = sb[0].ToString() + sb[1].ToString();
//察看格式类型
switch (strFlag)
{
//JPG格式
case "255216":
format = ".jpg";
return ImageFormat.Jpeg;
//GIF格式
case "7173":
format = ".gif";
return ImageFormat.Gif;
//BMP格式
case "6677":
format = ".bmp";
return ImageFormat.Bmp;
//PNG格式
case "13780":
format = ".png";
return ImageFormat.Png;
//其他格式
default:
format = string.Empty;
return null;
}
}
private ImageFormat GetImageFormat(Image _img, out string format)
{
if (_img.RawFormat.Equals(ImageFormat.Jpeg))
{
format = ".jpg";
return ImageFormat.Jpeg;
}
if (_img.RawFormat.Equals(ImageFormat.Gif))
{
format = ".gif";
return ImageFormat.Gif;
}
if (_img.RawFormat.Equals(ImageFormat.Png))
{
format = ".png";
return ImageFormat.Png;
}
if (_img.RawFormat.Equals(ImageFormat.Bmp))
{
format = ".bmp";
return ImageFormat.Bmp;
}
format = string.Empty;
return null;
}
public string GetMimeType(Image image)
{
ImageCodecInfo[] imageCodec = ImageCodecInfo.GetImageDecoders();
foreach (ImageCodecInfo item in imageCodec)
{
if (item.FormatID == image.RawFormat.Guid)
{
// 返回 样式为 image/png,image/gif 等样式字符串
return item.MimeType;
}
}
return "unknown";
}
如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!
txttool.com 说一段 esp56物联 查询128 IP查询