从内存流中查找映像类型
本文关键字:映像 类型 查找 内存 | 更新日期: 2023-09-27 18:05:36
我正在编写一些代码来将存储在数据库中的一些图像转换为JPEG。我需要检查图像是否为JPEG,并且我所拥有的是我放入MemoryStream
的byte[]
。然后,当前的代码将其插入Bitmap
,这不会告诉我关于图像的任何信息。
检查Image.RawFormat
属性。一旦你从流中加载图像,你可以这样做:
if (ImageFormat.Jpeg.Equals(image.RawFormat))
{
// Image is JPEG
}
您可以检查前几个字节。大多数(但不是全部)JPEG文件以字节序列FF D8 FF
开头。如果你需要确定,你需要做更多的事情。
我在15年前写了一个VB类来做这个。我仍然能在网上找到它的副本。https://code.google.com/p/vbgore/source/browse/trunk/Code/GrhDatMaker/CImageInfo.cls?spec=svn45& r = 45
很容易读懂。这应该比加载到Image
类更快。