السلام عليكــم ورحمـة الله وبركاتــه ،، وضعت موضوع منذ يومين ولم يرد على احد ولم اجد في كل المنتدى موضوع عن قراءة الهييدر لصورة جيف
اريد كيفية قراءة بعض هذه المعلومات مثل الطول والعرض و الالوان و الشفافية
GIF Header
Offset Length Contents
0 3 bytes "GIF"
3 3 bytes "87a" or "89a"
6 2 bytes <Logical Screen Width>
8 2 bytes <Logical Screen Height>
10 1 byte bit 0: Global Color Table Flag (GCTF)
bit 1..3: Color Resolution
1 bytes <Trailer> (0x3b)
Image Block
Offset Length Contents
0 1 byte Image Separator (0x2c)
1 2 bytes Image Left Position
3 2 bytes Image Top Position
5 2 bytes Image Width
7 2 bytes Image Height
8 1 byte bit 0: Local Color Table Flag (LCTF)
bit 1: Interlace Flag
bit 2: Sort Flag
bit 2..3: Reserved
bit 4..7: Size of Local Color Table: 2^(1+n)
? bytes Local Color Table(0..255 x 3 bytes) if LCTF is one
1 byte LZW Minimum Code Size
[ // Blocks
1 byte Block Size (s)
(s)bytes Image Data
]*
1 byte Block Terminator(0x00)
Graphic Control Extension Block
Offset Length Contents
0 1 byte Extension Introducer (0x21)
1 1 byte Graphic Control Label (0xf9)
2 1 byte Block Size (0x04)
3 1 byte bit 0..2: Reserved
bit 3..5: Disposal Method
bit 6: User Input Flag
bit 7: Transparent Color Flag
4 2 bytes Delay Time (1/100ths of a second)
6 1 byte Transparent Color Index
7 1 byte Block Terminator(0x00)
Comment Extension Block
Offset Length Contents
0 1 byte Extension Introducer (0x21)
1 1 byte Comment Label (0xfe)
[
1 byte Block Size (s)
(s)bytes Comment Data
]*
1 byte Block Terminator(0x00)
Plain Text Extension Block
Offset Length Contents
0 1 byte Extension Introducer (0x21)
1 1 byte Plain Text Label (0x01)
2 1 byte Block Size (0x0c)
3 2 bytes Text Grid Left Position
5 2 bytes Text Grid Top Position
7 2 bytes Text Grid Width
9 2 bytes Text Grid Height
10 1 byte Character Cell Width(
11 1 byte Character Cell Height
12 1 byte Text Foreground Color Index(
13 1 byte Text Background Color Index(
[
1 byte Block Size (s)
(s)bytes Plain Text Data
]*
1 byte Block Terminator(0x00)
Application Extension Block
Offset Length Contents
0 1 byte Extension Introducer (0x21)
1 1 byte Application Label (0xff)
2 1 byte Block Size (0x0b)
3 8 bytes Application Identifire
[
1 byte Block Size (s)
(s)bytes Application Data
]*
1 byte Block Terminator(0x00)
