• 通过文件头标识判断图片格式


    通过文件头标识判断图片格式

    用Delphi从内存流中通过文件头标识判断图片格式

    文件头标识大全:
    http://www.garykessler.net/library/file_sigs.html

    http://filext.com/index.php




    图片的格式很多,一个图片文件的后缀名并不能说明这个图片的真正格式什么,那么如何获取图片的格式呢?我想到了几个简单但有效的方法,那就是读取图片文件的文件头标识。我们知道各种格式的图片的文件头标识识不同的,因此我们可以通过判断文件头的标识来识别图片格式。
         我对各种格式的图片文件头标识进行了分析,不仅查找资料,也用十六进制编辑器察看过图片的文件头,以下是我收集、分析的结果,供大家参考。

    1.JPEG
    - 文件头标识 (2 bytes): $ff, $d8 (SOI) (JPEG 文件标识) 
    - 文件结束标识 (2 bytes): $ff, $d9 (EOI) 

    2.TGA
    - 未压缩的前5字节   00 00 02 00 00
    - RLE压缩的前5字节   00 00 10 00 00

    3.PNG
    - 文件头标识 (8 bytes)   89 50 4E 47 0D 0A 1A 0A

    4.GIF
    - 文件头标识 (6 bytes)   47 49 46 38 39(37) 61
                                         G   I   F     8   9 (7)     a

    5.BMP
    - 文件头标识 (2 bytes)   42 4D
                                         B   M

    6.PCX
    - 文件头标识 (1 bytes)   0A

    7.TIFF
    - 文件头标识 (2 bytes)   4D 4D 或 49 49

    8.ICO
    - 文件头标识 (8 bytes)   00 00 01 00 01 00 20 20 

    9.CUR
    - 文件头标识 (8 bytes)   00 00 02 00 01 00 20 20

    10.IFF
    - 文件头标识 (4 bytes)   46 4F 52 4D
                                         F   O   R   M

    11.ANI
    - 文件头标识 (4 bytes)   52 49 46 46
                                       R     I     F   F
  • 相关阅读:
    CF1391D 【505】
    CF1389C 【Good String】
    CF1364C 【Ehab and Prefix MEXs】
    CF1353E 【K-periodic Garland】
    CF1349A 【Orac and LCM】
    CF1352C 【K-th Not Divisible by n】
    CF413D 【2048】
    CF257B 【Playing Cubes】
    CF267A 【Subtractions】
    2018.8.16提高B组模拟考试
  • 原文地址:https://www.cnblogs.com/mamamia/p/8608848.html
Copyright © 2020-2023  润新知