Rysowanie linii łamanej PDF Drukuj Email
Wpisał doctor   
Środa, 14. Listopad 2007 01:24
Rysowanie linii łamanej

Aby cokolwiek narysować, musimy mieć dostęp do kontekstu urządzenia zwanego HDC. Służą do tego funkcje GetDC oraz GetWindowDC. W tym przykładzie zajmiemy się rysowaniem linii łamanej, poprzez połączenie zbioru punktów ją wyznaczających. Nie będziemy tu korzystać z metod LineTo oraz MoveTo.

Na początek wygenerujemy sobie punkty, które będą wyznaczać łamaną. Potem przekazujemy je jako parametr do funkcji Polyline. Należy pamietać, aby po skończonej operacji zwolnić uchwyt urządzenia za pomocą funkcji ReleaseDC.

Cały kod przedstawia się następująco:

HDC dc = GetWindowDC(Form1->Handle);
TPoint P[100];

int maxx = Form1->Width;
int maxy = Form1->Height;

    for(int i=0;i<100;i++)
    {
        P[i].x = random(maxx);
        P[i].y = random(maxy);
    }

Polyline(dc,P,100);
ReleaseDC(Form1->Handle, dc);


W przykładzie stworzono proste zabezpieczenie mające na celu losowanie współrzędnych punktów znajdujących się jedynie na formie. Do tego celu służą dwie zmienne typu int, maxx oraz maxy.

Funkcja Polyline ma postać:

bool Polyline(HDC dc, const POINT* a, int liczba_punktów)

gdzie:
liczba punktów określa, ile punktów ma zostać narysowanych. LIczba ta nie musi być koniecznie równa liczbie zdefiniowanych punktów.
Komentarze
Dodaj nowy Szukaj
+/-
Napisz komentarz
Nick:
E-mail:
 
Strona www:
Tytuł:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Proszę wpisać kod antyspamowy widoczny na obrazku.

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

Ostatnia aktualizacja: Środa, 14. Listopad 2007 01:29
 
 

Losowy obraz

b2.jpg

Gościmy

Naszą witrynę przegląda teraz 6 gości 




| | | |