FMX.Types.TPixelFormat

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

TPixelFormat = (None, RGB, RGBA, BGR, BGRA, RGBA16, BGR_565, BGRA4, BGR4, BGR5_A1, BGR5, BGR10_A2, RGB10_A2, L, LA,
LA4, L16, A, R16F, RG16F, RGBA16F, R32F, RG32F, RGBA32F);

C++

enum class DECLSPEC_DENUM TPixelFormat : unsigned int { None, RGB, RGBA, BGR, BGRA, RGBA16, BGR_565, BGRA4, BGR4, BGR5_A1, BGR5, BGR10_A2, RGB10_A2, L, LA, LA4, L16, A, R16F, RG16F, RGBA16F, R32F, RG32F, RGBA32F };

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
enum public
FMX.Types.pas
FMX.Types.hpp
FMX.Types FMX.Types

Beschreibung

Legt für jedes Pixel in einem Bitmap oder einer Textur die Codierung der Farbe und der Daten fest.

TPixelFormat definiert die Anzahl der Bits und die physische Reihenfolge der Farbkanäle, mit denen ein Pixel beschrieben wird.

Die Unit FMX.PixelFormats wurde umgestaltet und ist jetzt Bestandteil von FMX.Types (FMX.Types.TPixelFormat). Die Werte für das neue TPixelFormat unterscheiden sich von den Werten für FMX.PixelFormats.TPixelFormat (die neuen Werte sind kürzer und es gibt weniger Werte).

Logische Interpretation der Aufzählungen:

  • Die Reihenfolge der Buchstaben in der Aufzählung entspricht der physischen Reihenfolge der Kanäle:
    • "R" bedeutet Rot.
    • "G" bedeutet Grün.
    • "B" bedeutet Blau.
    • "L" bedeutet Helligkeit (Luminanz).
    • "A" bedeutet Alpha.
  • Falls am Ende keine Zahl steht, hat jede Komponente 8 Bit.
    Beispiel: RGB bedeutet 8 Bit für rot, 8 Bit für grün und 8 Bit für blau.
  • Falls am Ende eine Zahl steht, gilt diese Bit-Anzahl für alle Kanäle.
    Beispiel: RGBA16 bedeutet 16 Bit für jeden der Kanäle rot, grün, blau und Alpha, also insgesamt 64 Bit (16 + 16 + 16 + 16).
  • Die Gesamtanzahl der Bits wird auf 8, 16, 32 oder 64 Bit aufgerundet.
    Beispiel: RGB (8 + 8 + 8 = 24) hat 32 Bit (aufgerundet auf 32).
  • Wenn am Ende ein "F" steht, handelt es sich um ein Gleitkomma-Pixelformat. Ansonsten um ein Integer-Format.
    In FireMonkey wird normalerweise davon ausgegangen, dass alle Integer-Formate als vorzeichenlose "normalisierte" Integer-Formate behandelt werden (d. h. die niedrigsten und höchsten Integerwerte werden in Schattierern dem Bereich 0,0 - 1,0 zugeordnet).
    Ausnahmen zu den obigen Regeln:
I) BGR_565 ist ein 16-Bit-Format mit jeweils 5 Bit für den blauen und den roten Kanal und 6 Bit für den grünen Kanal.
II) BGR5_A1 ist ein 16-Bit-Format mit jeweils 5 Bit für den roten, grünen und blauen Kanal und 1 Bit für den Alpha-Kanal.
III) BGR10_A2 ist ein 32-Bit-Format mit jeweils 10 Bit für den roten, grünen und blauen Kanal und 2 Bit für den Alpha-Kanal.
IV) RGB10_A2 entspricht dem obigen (aber die Reihenfolge der RGB-Kanäle ist umgekehrt).


Mit den folgenden Routinen aus der Unit FMX.Types können Sie mit unterschiedlichen Pixelformaten arbeiten und Konvertierungen durchführen:

Siehe auch