Dateikopf: | 1. Wort | 4d4d Motorola (high order first) |
4949 Intel (low order first) | ||
2. Wort | 002a Versionsnummer (konstant) | |
3. + 4. Wort | Offset des ersten IFD (Image File Directory) | |
IFD: | 1. Byte | Anzahl der Tags im IFD, jedes Tag besteht aus 12 Bytes |
Aufbau eines Tag: | ||
1. Wort | Identifikation des Tags (es gibt 45 Tags) | |
2. Wort | Typ der Daten | |
1: Byte | ||
2: 0-terminierter String von ASCII-Zeichen | ||
3: short = 16-Bit unsigned integer (0000-ffff) | ||
4: long = 32-Bit unsigned integer (00000000-ffffffff) | ||
5: Rational = Bruch aus 2 long-Werten | ||
11: float = im IEEE-Format, einfache Genauigkeit | ||
12: double = im IEEE-Format, doppelte Genauigkeit | ||
3. + 4. Wort | Anzahl der Daten für dieses Tag | |
5. + 6. Wort | Tag-Daten | |
falls mit 4 Bytes darstellbar : von links nach rechts füllen | ||
falls mehr als 4 Bytes benötigt: 32-Bit Startadresse für Daten | ||
Datenblock: | RGB-Werte oder Indizes (ggf. komprimiert) für die Farbtabelle |
Offset | Bedeutung | Wert |
0100 | ImageWidth | z.B. 814 |
0101 | ImageLength | z.B. 517 |
0102 | Bits per Sample | z.B. 8, ggf. Zeiger auf 3 shorts |
0103 | Compression | 1 keine Komprimierung |
2 CCITT Gruppe 3 (nur bei Schwarz/Weiß) | ||
3 CCITT Gruppe T4 (nur bei Schwarz-Weiß) | ||
4 CCITT Gruppe T6 (nur bei Schwarz/Weiß) | ||
5 LZW | ||
6 JPEG | ||
32773 Packbit mit Lauflängen-Kodierung | ||
0106 | Photometric | 0 S/W mit 0=Weiß, wachsende Nummern gegen Schwarz |
Interpretation | 1 S/W mit 0=Schwarz, wachsende Nummern gegen Weiß | |
2 RGB-Farbbild, pro Pixel drei Farbwerte, 0,0,0=Schwarz | ||
3 Palettenbild, pro Pixel ein Index in Palette | ||
4 Transparenzmaske für ein weiteres Bild | ||
5 CMYK-Farbsystem, pro Pixel 4 Farbwerte | ||
6 YUV-Farbsystem, pro Pixel Luminanz + 2 Chrominanz | ||
0111 | Strip Offset | Startadresse des Datenblocks (meistens $0008) |
0112 | Orientation | 1 horizontal, beginnend oben links |
0115 | Samples per Pixel | 3 bei RGB-Bildern |
1 sonst | ||
0116 | Rows per Strip | wenn 1 Block: Bildhöhe |
wenn 1 Block: Anzahl Zeilen pro Block | ||
0117 | Strip Byte Counts | wenn 1 Block: Anzahl der Bytes im Block |
wenn 1 Block: Zeiger auf Feld mit Streifenlängen | ||
011a | X Resolution | Zeiger auf 2 long Werte, zB. 300 1 |
011b | Y Resolution | Zeiger auf 2 long Werte, zB. 300 1 |
0128 | Resolution unit | 1 keine Einheit |
2 Inch | ||
3 Zentimeter | ||
011c | Planar Configuration | 1 RGBRGBRGB ... |
2 RRRR... GGGG.... BBBB.... | ||
0140 | Color map | Anzahl der Einträge + Startadresse |
Jeder Farbwert 0 wird als Wort ww abgelegt |
Position 0: | ||||||
4d4d | Motorola | |||||
002a | Versionsnr. (konstant) | |||||
0013 | 43ba | Offset des IFD $001343ba = 1262522 | ||||
Position 8: | ||||||
ebe9 | e7e2 | e4c0 | b3bd | 9a9c | a387 | Beginn der RGB-Werte, insgesamt 814*517*3 Bytes |
9178 | 5294 | 724b | 8d6f | 4b8e | 7453 | |
a79e | 6da8 | a06f | a19b | 759d | a486 | |
a6ac | 8aa2 | aa92 | a7ac | 9ba5 | a995 | |
... | ||||||
... | ||||||
... | ||||||
Position 1262522: Beginn des Image File Directory | ||||||
000b | $000b = 11 Tags zu je 12 Bytes | |||||
0100 | 0003 | 0000 | 0001 | 032e | 0000 | Breite, 1 short, Wert 3*256 + 2*16 + 14 = 814 |
0101 | 0003 | 0000 | 0001 | 0205 | 0000 | Höhe, 1 short, Wert 2*256 + 0*16 + 5 = 517 |
0102 | 0003 | 0000 | 0003 | 0013 | 4444 | Bits per sample, 3 short, Adresse $134444=1262660 |
0103 | 0003 | 0000 | 0001 | 0001 | 0000 | Compression, 1 short, Wert=1 (keine Kompression) |
0106 | 0003 | 0000 | 0001 | 0002 | 0000 | Photometric, 1 short, Wert=2 (RGB-Farbbild) |
0111 | 0004 | 0000 | 0001 | 0000 | 0008 | StripOffsets,1 long, Wert=8 (Startadresse) |
0112 | 0003 | 0000 | 0001 | 0001 | 0000 | Orientierung,1 short, Wert = 1 (zeilenweise links/oben) |
0115 | 0003 | 0000 | 0001 | 0003 | 0000 | Samples per Pixel, 1 short, Wert=3 (RGB) |
0116 | 0004 | 0000 | 0001 | 0000 | 0205 | Rows per Strip, 1 long, Wert $205 = 517 (Zeilen) |
0117 | 0004 | 0000 | 0001 | 0013 | 43b2 | StripByteCounts, 1 long, Wert = 1262514 (Bytes) |
011c | 0003 | 0000 | 0001 | 0001 | 0000 | Planar Konfiguration, 1 short, Wert=1 (RGBRGB...) |
0000 | 0000 | Ende IFD, kein weiteres IFD | ||||
Position 1262660: | ||||||
0008 | 0008 | 0008 | jeweils 8 Bit pro Farbwert | |||
Vorspann | 8 Bytes |
814 * 517 RGB-Tripel | 1262514 Bytes |
IFD 11 * 12 + 12 | 144 Bytes |
Dateilänge | 1262666 Bytes |
Position 0: | ||||||
4d4d | Motorola | |||||
002a | Versionsnr. (konstant) | |||||
0006 | 6be | Offset des IFD $00066bee = 420846 | ||||
Position 8: | ||||||
fe68 | bd52 | 6f6f | 6f6f | 0101 | 01f4 | Beginn der Indizes, insgesamt 814*517 Bytes |
5252 | e952 | 2abd | 522a | 5252 | b252 | |
0000 | 016f | 076f | 01bd | e952 | 3877 | |
ea3a | 3838 | 38a1 | 0101 | 3a38 | 01be | |
. | ||||||
. | ||||||
Position 420846: Beginn des Image File Directory | ||||||
000c | $000c = 12 Tags zu je 12 Bytes | |||||
0100 | 0003 | 0000 | 0001 | 032e | 0000 | Breite, 1 short, Wert $32e = 814 |
0101 | 0003 | 0000 | 0001 | 0205 | 0000 | Höhe, 1 short, Wert $205 = 517 |
0102 | 0003 | 0000 | 0001 | 0008 | 0000 | Bits per sample, 1 short, Wert = 8 (Adresse) |
0103 | 0003 | 0000 | 0001 | 0001 | 0000 | Compression, 1 short, Wert=1 (keine Kompression) |
0106 | 0003 | 0000 | 0001 | 0003 | 0000 | Photometric, 1 short, Wert=3 (Palette) |
0111 | 0004 | 0000 | 0001 | 0000 | 0008 | StripOffsets,1 long, Wert=8 (Startadresse) |
0112 | 0003 | 0000 | 0001 | 0001 | 0000 | Orientierung,1 short, Wert=1 (zeilenweise l.o.) |
0115 | 0003 | 0000 | 0001 | 0001 | 0000 | Samples per Pixel, 1 short, Wert=1 (Palette) |
0116 | 0004 | 0000 | 0001 | 0000 | 0205 | Rows per Strip, 1 long, Wert $205 = 517 (Zeilen) |
0117 | 0004 | 0000 | 0001 | 0006 | 6be6 | StripByteCounts,1 long, Wert = 420838 (Bytes) |
011c | 0003 | 0000 | 0001 | 0001 | 0000 | Planar Konfiguration, 1 short, Wert=1 (RGBRGB..) |
0140 | 0003 | 0000 | 0300 | 0006 | 6c84 | Colormap, $300 = 768 short, beginnend bei $66c84 |
0000 | 0000 | Ende IFD, kein weiteres IFD | ||||
Position: $66c84 = 420996 | ||||||
Palette mit 768 Doppelbytes | ||||||
b8b8 | a8a8 | 1010 | 3c3c | 0808 | 2424 | |
b4b4 | a8a8 | 1c1c | 9898 | 6868 | 3838 | |
3c3c | 5858 | 2c2c | 7070 | 6464 | 8080 | |
. | ||||||
. | ||||||
3030 | 1414 | 1010 | 3030 | 2020 | 3c3c | |
7070 | 2828 | d8d8 | 1010 | 2828 | 2020 | |
7474 | 1414 | acac | a8a8 | e4e4 | e4e4 |
Vorspann | 8 Bytes |
814 * 517 Indizes | 420838 Bytes |
IFD 12 * 12 + 6 | 150 Bytes |
Palette 3 * 256 * 2 | 1536 Bytes |
Dateilänge | 422532 Bytes |