In dieser Unit für Delphi gibt es 2
Funktionen für DelphiX. Sie laufen nur im 16 Bit Farbmodus. Durch ein paar
Änderungen können die Funktionen auch auf 24/32 Bit umgestellt
werden.
Funktion 1: BlendRectangle
procedure BlendRectangle( Rect: TRect;
Alpha: Cardinal; Color: TBlendColor; Surface: TDirectDrawSurface );
Diese Funktion führt Alphablending mit
einer festen Farbe in einem bestimmten Bereich durch. Dies ist gut für
Transparent- Effekte.
Parameter:
Rect: |
Das Rechteck, auf dem
Alphablending durchgeführt wird. Man muss darauf achten, dass das Rechteck
innerhalb des Bildschirmes liegt. |
Alpha: |
Hier wird der Alpha-Wert
angegeben. Es muss eine gültige Zahl zwischen 0 und 255 sein. Je
höher dieser Wert ist, desto stärker erscheint die Farbe mit der das
Alphablending durchgeführt wird. |
Color: |
Die Farbe wird als 16-Bit
Farbcode angegeben. Als Programmierer muss man den 5-5-5 Farbmodus und 5-6-5
Farbmodus unterscheiden, da ansonsten Farbverfälschungen auftreten. |
Surface: |
Das Surface, auf dem
Alphablending durchgeführt werden soll. Um eine optimale Performance zu
erhalten, sollte das Surface im Systemspeicher liegen. |
Funktion 2: DrawShadow
procedure DrawShadow( Surface:
TDirectDrawSurface; X ,Y : Integer; SrcRect: TRect; Source: TDirectDrawSurface;
TransparentColor: TBlendColor);
Diese Funktion zeichnet den Schatten eines
Bildes. Dient z.B. zum Zeichnen eines Schatten unter dem Mauscursor.
Parameter:
Surface: |
Das Surface, auf dem der
Schatten gezeichnet werden soll. Um eine optimale Performance zu erhalten,
sollte das Surface im Systemspeicher liegen. |
X, Y: |
Die X und Y Position, an dem
der Schatten auf dem Surface gezeichnet werden soll. |
SrcRect: |
Der Bereich aus der
Source, aus dem der Schatten berechnet werden soll. |
Source: |
Die Quelle, aus der der
Schatten berechnet wird. Zum Eingrenzen des Bereiches verwendet SrcRect. |
TransparentColor: |
Die Farbe wird als 16-Bit
Farbcode angegeben. Pixel, die in der Quelle diese Farbe enthalten, werden
nicht schattiert. |
|