|
Grafikformate
BMP
Bezeichnungen | Microsoft Windows Bitmap, BMP, DIB | Farben | 1-Bit (s/w), 4-Bit (16 Farben), 8-Bit (256 Farben), 24-Bit (16,7 Mio. Farben) | Kompression | normalerweise keine oder RLE | Maximale Bildgröße | 65536 x 65536 Pixel |
Das Format BMP wird von den meisten Graphikprogrammen unterstützt,
die unter MS-Windows arbeiten. Auch die meisten Konvertierprogramme
unterstützen BMP. Zur Zeit gibt es vier Versionen des BMP-Formats:
- MS-Windows Version 1.x und 2.x
- MS-Windows Version ab 3.x
- OS/2 Version 1.x
- OS/2 Version ab 2.x
Hier wird beispielhaft nur die MS-Windows Version ab 3.x beschrieben.
Eine BMP-Datei besteht aus vier Abschnitten:
- Der Bitmap Header enthält die Datei-Signatur "BM", die
Dateilänge in Byte und den Abstand (Offset) zwischen Dateianfang
und Datenanfang in Byte.
- Im Information Header finden sich Informationen zum Bild selbst,
z. B. die Höhe und Breite des Bildes, die horizontale und
vertikale Auflösung in Pixel pro Meter, der Typ der
Komprimierung und die Anzahl der benutzten Farben.
- Die Farbpalette definiert jede Farbe durch ihren Anteil an Rot,
Grün und Blau.
- Die Daten enthalten die zeilenweise Rasterinformation des Bildes.
Ausgangspunkt ist die linke untere Ecke des Bildes. Bei Bilder mit
1-, 4- oder 8-Bit Farbinformation enthält der Pixelwert nicht
direkt die Farbinformation, sondern einen Index auf die Farbpalette.
Bei 24-Bit Bildern entspricht der Pixelwert dem Farbwert, so
daß die Farbpalette hier nicht benutzt wird. Die Daten
können RLE-komprimiert sein. Dies ist aber nur selten der Fall.
GIF
Bezeichnungen | Graphics Interchange Format, GIF |
Farben | 1- bis 8-Bit (s/w bis 256 Farben/Graustufen) |
Kompression | LZW |
Maximale Bildgröße | 65536 x 65536 Pixel |
Besonderheit | Mehrere Bilder in einer Datei möglich -->
'animated GIF', 'interlaced' GIF, transparenter Hintergrund |
GIF wurde von den Firmen UNISYS Corp. und CompuServe entwickelt. Ziel war eine
minimale Dateigröße zum Austausch von Graphiken über
Mailboxen. Da im Mikrocomputerbereich für jede gängige
Hardware (Amiga, Atari, IBM-kompatible, Macintosh) Programme
existieren, die GIF-Grafiken verarbeiten können, ist es vor
allem als Austauschformat über Hardwaregrenzen hinweg von
Bedeutung. Eine GIF-Datei kann mehrere Bilder enthalten, was z. B. Interlacing
ermöglicht. Im sequentiellen Modus wird das Bild zeilenweise von links oben
nach rechts unten codiert und ausgegeben. Unter 'Interlacing' versteht man eine
Abwandlung des Bildaufbaus bei der Wiedergabe. Es erscheint zunächst ein
recht grobes Bild, das dann schrittweise immer schärfer wird. So kann man
sich schon recht schnell einen Eindruck verschaffen.
Dazu wird der Bildaufbau in vier Durchgänge aufgeteilt.
Im ersten Durchgang wird ausgehend von der Zeile 0 jede achte Zeile
ausgegeben, also die Zeilen 0, 8, 16 usw. Im zweiten Durchgang wird ausgehend
von Zeile 4 jede achte Zeile ausgegeben, also 4, 12, 20 usw. Im
dritten Durchgang folgt ausgehend von Zeile 2 jede vierte Zeile, also
2, 6, 10 usw. Durchgang vier vervollständigt das Bild ausgehend
von Zeile 1 mit jeder zweiten Zeile, also 1, 3, 5 usw.
Des weiteren kann man eine Farbe des Bildes als 'Hintergrundfarbe' definieren.
Diese Farbe (im linken Bild hellblau) wird bei der Wiedergabe dann durch die
Farbe des Hintergrundes ersetzt (rechtes Bild):
Zur Zeit gibt es zwei Versionen des GIF-Formats:
Hier wird die Version GIF87a beschrieben. Für die Version
GIF89a (eine Erweiterung von GIF87a) wird auf die obengenannte
Literatur verwiesen. Diese Version ist in der Lage, mit mehreren
Bildern in einer Datei eine Animation ablaufen zu lassen (siehe später).
Eine GIF-Datei hat folgenden Aufbau:
- Die Signatur enthält die Buchstaben 'GIF' und eine
Versionsnummer (87a oder 89a).
- Die Bildschirm-Definition definiert die Höhe und Breite des
Bildschirms in Pixel, das sogenannte Resolution Flag,
Hintergrundfarbe der Grafik sowie das Pixelseitenverhältnis
(aspect ratio). Das Resolution Flag enthält Informationen
über die Anzahl Bit pro Pixel (mit 4 Bit pro Pixel sind z.B. 16
Farben möglich)und die Anzahl der benutzten Farben in Bit.
Außerdem existiert ein Flag, welches das Vorhandensein der
optionalen globalen Farbskala anzeigt. Das Pixelseitenverhältnis
wird aus dem Quotient von Pixelbreite und Pixelhöhe berechnet.
- Die globale Farbskala ist für eine präzise
Farbwiedergabe bei Bildern verantwortlich, die auf einer anderen
Hardware dargestellt werden sollen als sie erzeugt wurden. Für
jede Farbe wird dabei der jeweilige Anteil der Farben Rot, Grün
und Blau durch einen Wert von 0 (kein Anteil) bis 255 (voller Anteil)
definiert. Anhand dieser Farbdefinition ist es anschließend
möglich, für jedes Pixel die passendste farbliche
Entsprechung auf der jeweiligen Hardware zu finden.
- Der Bild-Definitionsblock beginnt mit einem Bildtrennzeichen (2C
hexadezimal) und enthält Informationen über die Position
der linken oberen Ecke des Bildes auf dem Bildschirm in Pixel,
über die Breite und Höhe des Bildes in Pixel (nicht
größer als der vorher definierte Bildschirm) sowie diverse
Flags. Die Flags geben u.a. an, ob eine lokale Farbskala existiert,
ob das Bild sequentiell oder interlaced auszugeben ist und wieviele
Bit eine Farbe der lokalen Farbskala beschreiben.
- Eine eventuell vorhandene lokale Farbskala für ein einzelnes
Bild hat Vorrang vor der globalen Farbskala.
- Die eigentlichen Rasterdaten sind sowohl im sequentiellen Modus als auch
im Interlaced-Mode LZW-komprimiert.
- Das GIF-Endzeichen ist stets 3B in hexadezimaler Form.
JPG
Bezeichnungen | JPEG File Interchange Format, JPG, JPEG, JFIF, JFI |
Farben | Bis 24-Bit (bis 16,7 Mio. Farben) |
Kompression | JPEG |
Maximale Bildgröße | 65536 x 65536 Pixel |
Das JPEG File Interchange Format (JFIF) ist eine Entwicklung der
Firma C-Cube Microsystems zur Speicherung JPEG-komprimierter Daten.
Eine JFIF-Datei hat folgenden Aufbau:
- Der Header enthält den Start of Image (SOI) marker (FF D8 hexadezimal),
den Application marker (FF E0 hexadezimal), die
Größe der APP0-Daten (s. u.), die Zeichenkette JFIF, die
Versionsnummer der JFIF-Spezifikation (aktuell 1.02), die
Maßeinheit (dots per inch, dots per centimeter oder keine), die
Auflösung des Bildes in der festgelegten Maßeinheit sowie
die Auflösung des optionalen Previewbildes in den APP0-Daten.
- Die APP0-Daten enthalten, falls vorhanden, 24-Bit
Rot-Grün-Blau-Daten einer verkleinerten Version des Bildes.
Dieses dient dazu, sich einen ersten Eindruck des vollständigen
Bildes zu verschaffen. Dieses Preview-Bild ist nicht komprimiert.
- Optionale Header (ab Version 1.02) erlauben andere Varianten von
Preview-Bildern, z.B. auch solche, die JPEG-komprimiert sind. Version
1.02 empfiehlt, nur noch diese neueren Header zu benutzen, um
Informationen über Preview-Bilder zu speichern.
- Die eigentlichen Bilddaten bestehen aus Blöcken von
JPEG-komprimierten Daten.
- EOI beendet die Datei.
PCX
Bezeichnungen | PC Paintbrush File Format, DCX, PCC |
Farben | 1-, 2-, 4-, 8-, 24-Bit (s/w bis 16,7 Mio. Farben) |
Kompression | Keine oder RLE |
Maximale Bildgröße | 65536 x 65536 Pixel |
Das PCX-Format wurde von der Firma ZSoft Corporation zur
Speicherung und Übertragung der mit PC-Paintbrush erstellten
Grafiken entwickelt. Dieses Format wurde von Microsoft
übernommen und u.a. im Grafikprogramm MS-Paintbrush für
Windows benutzt. PCX ist im PC-DOS/Windows-Bereich weit verbreitet,
aber auch auf anderen Plattformen anzutreffen.
Nachteile des PCX-Formates sind eine hardwareabhängige Darstellung
von Farben und Auflösung sowie ein relativ ineffizienter
RLE-Kompressionsalgorithmus. Eine PCX-Datei hat folgenden Aufbau:
TIFF
Bezeichnungen | Tag Image File Format, TIF |
Farben | 1- bis 24-Bit (s/w bis 16,7 Mio. Farben) |
Kompression | Keine, RLE, LZW, CCITT Group 3 und 4, JPEG |
Maximale Bildgröße | ca. 4 Milliarden Bildzeilen |
Besonderheit | Mehrere Bilder in einer Datei möglich |
TIFF ist eine Entwicklung der Firma Aldus Corporation. Dieses
Format hat sich in den letzten Jahren zu einem der wichtigsten
Formate für Rasterdateien entwickelt. Es wurde von Anfang an so
umfangreich konzipiert, daß es eine Vielzahl von
Speichermöglichkeiten bietet und neben den eigentlichen
Grafikdaten auch Angaben wie der Name der benutzten Grafiksoftware
oder der Scannertyp aufgenommen werden können. TIFF ist in der
Lage, Schwarz/Weiß-, Grauwert- und Farbbilder zu speichern.
Diese Möglichkeiten machen das Format komplizierter,
andererseits aber auch universeller einsetzbar. Neben den meisten
Scannern benutzen viele Grafikprogramme das TIFF-Format.
Die letzte Revision ist TIFF 6.0 vom Juni 1992.
Das Einlesen von TIFF-Bildern bereitet manchen Programmen
große Probleme. Aufgrund der möglichen Komplexität
einer TIFF-Datei und der damit verbundenen Varianten (z.B. viele
verschiedene Kompressionsmethoden) lesen viele Programme nur einen
kleinen Anteil aller TIFF-Varianten. Die Fehlerursache ist dabei aber
meist bei diesen Programmen zu suchen, da das TIFF-Format sehr
präzise definiert ist. Wenn Sie Probleme beim Importieren einer
TIFF-Datei haben, versuchen Sie, diese, falls noch möglich,
unkomprimiert abzuspeichern und dann zu importieren.
Eine TIFF-Datei hat folgenden Aufbau:
- Der Header enthält Informationen für die Speicherart der
Datei-Bytes (II für Intel little-endian, MM für Motorola
big-endian) sowie die Versionsnummer (immer 42, unabhängig von
der tatsächlichen Revisionsnummer) und die Adresse des ersten
Image File Directories (IFD).
- Ein Image File Directory (IFD) besteht aus den drei folgenden
Bereichen:
- Jedes Tag (Schlüssel) enthält Informationen über
das zugehörige Bild. Dies können z.B. Bildbreite,
Bildhöhe, Komprimierungsart sowie X- und Y-Offset sein. Die
Anzahl der Tags ist variabel. Es gibt über 90 verschiedene Tags,
die auftreten können. Daher ist die Länge des IFD nicht
fest. Außerdem kann ein IFD überall (nach dem Header) in
einer TIFF-Datei vorkommen. Enthält die Datei mehrere Bilder, so
sind mehrere Anordnungen von IFD und Bilddaten möglich:
Header IFD_1 IFD_2 ... IFD_n Bilddaten_1 Bilddaten_2 ... Bilddaten_n
|
Header IFD_1 Bilddaten_1 IFD_2 Bilddaten_2 ... ... IFD_n Bilddaten_n
|
Header Bilddaten_1 Bilddaten_2 ... Bilddaten_n IFD_1 IFD_2 ... IFD_n
|
- Folgt keine weiteres Bild, so ist die Adresse des nächsten
IFD 00 (hexadezimal).
- Zur Speicherung werden die Bilder in Streifen einer festen
Länge eingeteilt. Voreingestellt sind (2 hoch 32)-1 komprimierte
Bildzeilen pro Streifen. Daher besteht ein Bild meist nur aus einem
Streifen. Verschiedene Streifen eines einzigen Bildes können an
beliebiger Stelle der TIFF-Datei auftreten. Die Bilddaten selbst
können ebenfalls in beliebiger Reihenfolge gespeichert werden.
Gebräuchlich sind die Varianten
- Pro Bildebenen:
Rot Rot Rot ... Grün Grün Grün ... Blau Blau Blau ...
- Pro Farbkomponente:
Rot Grün Blau Rot Grün Blau Rot Grün Blau Rot Grün Blau
|
|
|