我正在编写一些代码来将存储在数据库中的一些图像转换为JPEG。我需要检查图像是不是JPEG,而我所拥有的只是byte[]
,我将其放入MemoryStream
。然后,当前代码将其插入Bitmap
,这不会告诉我有关图像的任何信息。
答案 0 :(得分:2)
结帐Image.RawFormat
属性。从流中加载图像后,您可以执行以下操作:
if (ImageFormat.Jpeg.Equals(image.RawFormat))
{
// Image is JPEG
}
答案 1 :(得分:0)
您可以检查前几个字节。大多数(但不是全部)JPEG文件以字节序列FF D8 FF
开头。如果你需要确定,你需要做更多的事情。
十五年前我写了一个VB类来做这个。我仍然在网上找到它的副本: https://code.google.com/p/vbgore/source/browse/trunk/Code/GrhDatMaker/CImageInfo.cls?spec=svn45&r=45
阅读起来很容易。这应该比加载到Image
类更快。