W tej lekcji zajmiemy się zabawą na palecie kolorów. Korzysta się z niej bardzo często tworząc ciekawe efekty graficzne lub np. gradient tła. Możliwe, że w tej chwili myślisz sobie jaka trudność napisać coś takiego:
Form1.Color := clBlue;A czy wiesz co oznacza taki kod:
Form1.Color := RGB(255, 0, 0);Jeżeli tak i wiesz jak manipulować tymi cyframi nie masz po co czytać dalszej części tego kursu. Jak już pewnie zauważyłeś dany kolor można zadeklarować poprzez poszczególne składniki, którymi są kolory czerwony, zielony, niebieski. I tak np. żeby zadeklarować kolor czerwony trzeba napisać coś takiego RGB(255, 0, 0) kolor czarny - RGB(0, 0, 0). Pewnie w tej chwili zastanawiasz się po co się męczyć z deklarowaniem kolorów w takiej postaci. Może to być przydatne wtedy kiedy zadeklarujemy jakiś kolor i chcemy go stopniewo rozjaśniać. Pozostaje tylko jedno pytanie? Jednak skąd teraz dowiedzieć się jakiemu kolorowi odpowiadają jakie współczynniki. Wystarczy otworzyć dowolną paletę Windows. Gdzieś na niej muszą się znajdować takie pola jak: czerwony, zielony, niebieski.
No dobrze, ale teraz trochę praktyki. Wstaw do nowo utworzonego formularza komponent TTimer dostępny na palecie System. Pod sekcją implementation dodaj kod:
var
czerwony, zielony, niebieski : Integer;
Kliknij dwa razy na tle formularza, aby wygenerować zdarzenie OnCreate. Wpisz:
czerwony := 255;
zielony := 0;
niebieski := 0;
Kliknij podwójnie na wcześniej wstawionym komponencie. Dodaj kod:
czerwony := czerwony - 10;
if czerwony < 10 then begin
czerwony := 255;
end;
Form1.Color := RGB(czerwony, zielony, niebieski);
Teraz po uruchomieniu aplikacji tło aplikacji będzie stopniowo ciemnieć od koloru czerwonego
do czarnego. Fajnie wygląda co?