Delphi - TFadeEffect komponens

Bitmap effektek 4. rész

forráskód letöltése

A Fade effektet úgy kell elképzelni, hogy a megjelenítendő képet minden lépésben fokozatosan csökkenő átlátszósággal jelenítjük meg. Ennek következtében a megjelenítendő kép „előtűnik” a másik képből. A mellékelt példaprogram megnyitása előtt a FadeEffect.pas-ban lévő komponenst telepítenie kell a Delphi alá. A komponens telepítéséhez szükség van továbbá a cikksorozat első részéhez mellékelt BaseEffect unit-ra is.

A lépésszámot az Initialize eljárásban 64-re állítjuk be. Az átlátszó kép kirajzolása a CopyAlpha eljárásban történik az AlphaBlend függvénnyel. Ebben az átlátszóságot egy 0-255 értékkel szabályozhatjuk. Mi csak 64 lépést használunk, mivel amikor megrajzoljuk a képet, akkor már az előző képre rajzoljuk rá, így az átlátszóság fokozatosan csökkenni fog. Ez még akkor is így lenne, ha ennek mértékét lépésenként nem csökkentenénk.
procedure TFadeThread.PrepareBitmap;
begin
  inherited;
  with FEffect as TFadeEffect do begin
    CopyAlpha(0, 0, Width, Height, 64-FStep);
  end;
end;


Bitmap effektek cikksorozat