135
Rozdział 13. ♦ Grafika w Delphi — korzystanie z metod obiektu TCanvas
Poniższe instrukcje wpisz np. w procedurze obsługi przycisku.
Pierwsza przekątna:
Canvas.Pen.Color:=clRed; //zmiana koloru pióra na czerwony //przesunięcie kursora graficznego do punktu o współrzędnych (0,0)
Canvas.Moveto(0,0):
//narysowanie linii od bieżącego położenia kursora graficznego do punktu z prawego
zdolnego wierzchołka
Canvas.Lineto(ClientWidth. Cl i entHeight);
Narysuj drugą przekątną.
Aby przekątne pozostały na formularzu podczas zmiany jego rozmiaru, należy wykorzystać dwa zdarzenia: OnPaint i OnResize. W procedurach obsługi tych zdarzeń powinny znaleźć się instrukcje, jak w procedurach poniżej:
procedurę TForml.FormPaint(Sender: TObject): begin
Canvas.Pen.Color:=cl Red:
Canvas.Moveto(0,0);
Canvas.Lineto(ClientWidth, Cl i entHei ght):
Canvas.Moveto(Cli entWi dth,0);
Canvas.Lineto(0, Cl ientHeight): end;
procedurę TForml.FormResize(Sender: TObject); begin
Refresh; // przy zmianie rozmiaru okna
// kasowane są poprzednie przekątne
end;
Wyświetl na formularzu punkty rozmieszczone losowo i o losowych kolorach.
Wstaw przycisk i w procedurze obsługi zdarzenia OnCl i ck wpisz odpowiednie instrukcje:
//Losowe punkty
procedurę TForml.Button2Click(Sender: TObject);
var i:integer;
begin
for i:=l to 10000 do
Canvas.Pi xels[Random!Cl i entWi dth), Random(Cli entHei ght)]: =
RGB( Random(255),Random(255), Random (255 ) ); end;