Kurs DelphiX - część 2.


Proste sprawy.

Utwórz nowy projekt. Nazwij go kurs1. Z palety komponentów wstaw DXDraw na którym będzie wyświetlana grafika. Do formy wstaw przycisk. Utwórz procedurę obsługującą zdarzenie onclick do tego przycisku. Narysujemy kreskę. Można to zrobić w następujący sposób : przesunąć kursor do pewnego punktu przy pomocy procedury moveto a następnie narysować linie do innego punktu za pomocą procedury lineto, np.

dxdraw1.surface.canvas.moveto(15,250);
dxdraw1.surface.canvas.lineto(350,400);


Na końcu tej procedury należy pasowałoby dopisać dwie ważne rzeczy. Procedurę release po to żeby się windows nie zawiesił. Kolejnym krokiem będzie wrzucenie tego na ekran za pomocą procedury flip.

dxdraw1.surface.canvas.release;
dxdraw1.flip;


Spróbuj uruchomić program i naciśnij przycisk, powinna się pojawić na ekranie kreska.

Trudniejsze sprawy

W tej części narysujemy na ekranie bitmapę.W tym celu : Utwórz nowy projekt o nazwie kurs2. Wstaw komponent TDXDraw i TDXimagelist. Dzięki komponentowi TDXimagelist będziesz mógł ładować wiele bitmap i rysować je na wiele sposobów. Na początku ustaw w TDXimagelist właściwość dxdraw na dxdraw1. Wstaw rysunek -należy wybrać właściwość items. Później wcisnąć przycisk Add New. Następnie wybieramy właściwość picture. Utwórz przycisk i utwórz zdarzenie onclick do tego przycisku. Wstaw kod :

dxdraw1.dximagelist1.Items.Items[n].draw(dest,x,y,patternindex);

Procedura ta rysuje na ekranie obrazek o wybranych współrzędnych x i y. Dest - Powierzchnia na której ma być rysowana bitmapa np. dxdraw1.surface. N- Numer bitmapy która ma być wyświetlana.

Możesz zastosować też inną procedurę która te będzie rysowała bitmapy ale obrócone. Np.

DrawRotate(Dest, X, Y, Width, Height, PatternIndex, CenterX, CenterY, Angle);

Dest - . Dest - Powierzchnia na której ma być rysowana bitmapa np. dxdraw1.surface
X i y - współrzędne
Width- szerokość
Height- wysokość
CenterX i CenterY- Punkt na ekranie wzglądem, którego ma być obracana bitmapa.
Angle- Kąt o jaki ma być obrócona bitmapa.



Dariusz Łazowski