Informationen zu Bitmaps

Eine Bitmap ist eines der GDI-Objekte, die in einem Gerätekontext (DC ) ausgewählt werden können. Gerätekontexte sind Strukturen, die eine Reihe von Grafikobjekten und den zugehörigen Attributen sowie Grafikmodi definieren, die sich auf die Ausgabe auswirken. In der folgenden Tabelle werden die GDI-Objekte beschrieben, die in einem Gerätekontext ausgewählt werden können.

Grafikobjekt BESCHREIBUNG
Bitmaps Erstellt, bearbeitet (skalieren, scrollen, drehen und malen) und speichert Bilder als Dateien auf einem Datenträger.
Pinsel Zeichnet das Innere von Polygonen, Ellipsen und Pfaden.
Schriftarten Zeichnet Text auf Videoanzeigen und anderen Ausgabegeräten.
Logische Palette Eine Farbpalette, die von einer Anwendung erstellt und einem bestimmten Gerätekontext zugeordnet ist.
Paths Eine oder mehrere Figuren (oder Formen), die gefüllt und/oder konturiert sind.
Stifte Ein Grafiktool, das von einer Anwendung zum Zeichnen von Linien und Kurven verwendet wird.
Regionen Ein Rechteck, Polygon oder Ellipse (oder eine Kombination aus zwei oder mehr dieser Formen), die gefüllt, gezeichnet, invertiert, gerahmt und verwendet werden kann, um Treffertests durchzuführen (Tests für die Cursorposition).

 

Aus Entwicklersicht besteht eine Bitmap aus einer Auflistung von Strukturen, die die folgenden Elemente angeben oder enthalten:

  • Ein Header, der die Auflösung des Geräts beschreibt, auf dem das Pixelrechteck erstellt wurde, die Abmessungen des Rechtecks, die Größe des Arrays von Bits usw.
  • Eine logische Palette.
  • Ein Array von Bits, das die Beziehung zwischen Pixeln im Bitmapbild und Einträgen in der logischen Palette definiert.

Eine Bitmapgröße hängt mit dem Typ des darin enthaltenen Bilds zusammen. Bitmapbilder können entweder monochrom oder farbfarbig sein. In einem Bild entspricht jedes Pixel einem oder mehreren Bits in einer Bitmap. Monochrome Bilder haben ein Verhältnis von 1 Bit pro Pixel (bpp). Farbbilder sind komplexer. Die Anzahl der Farben, die von einer Bitmap angezeigt werden können, ist gleich zwei, die auf die Anzahl der Bits pro Pixel erhöht werden. Daher erfordert eine Bitmap mit 256 Farben 8 bpp (2^8 = 256).

Systemsteuerung Anwendungen sind Beispiele für Anwendungen, die Bitmaps verwenden. Wenn Sie einen Hintergrund (oder ein Hintergrundbild) für Ihren Desktop auswählen, wählen Sie tatsächlich eine Bitmap aus, die das System zum Zeichnen des Desktophintergrunds verwendet. Das System erstellt das ausgewählte Hintergrundmuster durch wiederholtes Zeichnen eines 32 x 32-Pixel-Musters auf dem Desktop.

Die folgende Abbildung zeigt die Perspektive des Entwicklers auf die Bitmap in der Datei Redbrick.bmp. Es zeigt ein Palettenarray, ein Rechteck mit 32 x 32 Pixeln und das Indexarray, das Farben aus der Palette zu Pixeln im Rechteck zuordnet.

Abbildung des Pixelrechtecks, des Palettenarrays und des Indexarrays von redbrick.bmp

Im vorherigen Beispiel wurde das Pixelrechteck auf einem VGA-Anzeigegerät mit einer Palette von 16 Farben erstellt. Eine 16-Farbpalette erfordert 4-Bit-Indizes; Daher besteht das Array, das Palettenfarben Pixelfarben zuordnet, auch aus 4-Bit-Indizes. (Weitere Informationen zu logischen Farbpaletten finden Sie unter Farben.)

Hinweis

In der obigen Bitmap ordnet das System Indizes Pixeln zu, die mit der unteren Scanlinie des rechteckigen Bereichs beginnen und mit der oberen Scanlinie enden. Eine Scanlinie ist eine einzelne Zeile von benachbarten Pixeln auf einer Videoanzeige. Beispielsweise entspricht die erste Zeile des Arrays (Zeile 0) der unteren Zeile von Pixeln, Scanzeile 31. Dies liegt daran, dass die obige Bitmap eine geräteunabhängige Bitmap (Device-Independent Bitmap, DIB) von unten nach oben ist, ein gängiger Bitmaptyp. In top-down-DIBs und in geräteabhängigen Bitmaps (Device-Dependent Bitmaps, DDB) ordnet das System Indizes Pixeln zu, die mit der oberen Scanzeile beginnen.

 

In den folgenden Themen werden verschiedene Bereiche von Bitmaps beschrieben.