Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
5. Grafika 12/20<br />
int CombineRgn(HRGN hDestRgn, HRGN hSrcRgn1, HRGN hSrcRgn2,<br />
int iCombine) – funkcja składa dwa regiony dajc w wyniku uchwyt nowego regionu.<br />
Wszystkie trzy regiony musz istnie wczeniej, a region poprzednio opisywany przez<br />
hDestRgn zostanie usunity.<br />
iCombine – okrela sposób łczenia regionów<br />
RGN_AND – cz wspólna regionów<br />
RGN_OR – suma regionów<br />
RGN_XOR – suma regionów z wyłczeniem czci wspólnej<br />
RGN_DIFF – cz naleca do hSrcRgn1 i nie naleca do hSrcRgn2<br />
RGN_COPY – cało hSrcRgn1.<br />
Funkcja zwraca:<br />
NULLREGION – region pusty<br />
SIMPLEREGION – pojedynczy prostokt, wielokt lub elipsa<br />
COMPLEXREGION – złoenie prostoktów, wieloktów i elips.<br />
ERROR - błd<br />
BOOL FillRgn(HDC hdc,HRGN hrgn,HBRUSH hBrush) – wypełnia obszar<br />
regionu za pomoc podanego pdzla.<br />
BOOL FrameRect(HDC hdc, HRGN hrgn, HBRUSH hBrush, int nWidth,<br />
int nHeight) – maluje pdzlem ramk dookoła regionu, rodek pozostawiajc nie<br />
wypełniony.<br />
nWidth, nHeight – szeroko i wysoko ramki.<br />
BOOL InvertRgn(HDC hdc, HRGN hrgn) – odwraca barw pikseli wewntrz<br />
regionu.<br />
BOOL PaintRgn(HDC hdc, HRGN hrgn) – wypełnia region za pomoc biecego<br />
pdzla.<br />
Regiony moemy wykorzysta do ustawiania obszarów w którym mona malowa –<br />
regionów obcinania. Poza tymi obszarami Windows nic nie wykreli. Wykorzystujemy do<br />
tego funkcje<br />
uniewaniajc obszar: InvalidateRgn(HWND hWnd , HRGN hRgn, BOOL<br />
bErase ) i zatwierdzajc obszar ValidateRgn(HWND hWnd , HRGN hRgn).<br />
wyznaczajc obszar obcinania dla danego DC:<br />
HRGN SelectObject(HDC hdc, HRGN hRgn);<br />
int SelectClipRgn(HDC hdc, HRGN hRgn);<br />
cieka.<br />
cieka jest zbiorem odcinków i łuków pamitanych przez GDI. Podcieki składaj si z<br />
cigu połczonych linii. Kada podcieka moe by zamknita lub otwarta. Moemy<br />
zamkn podciek odcinkiem za pomoc funkcji:<br />
BOOL CloseFigure(HDC hdc)<br />
ciek tworzymy za pomoc funkcji:<br />
BeginPath(hdc);<br />
// funkcje krelce linie, odcinki, krzywe<br />
EndPath(hdc);<br />
Funkcje usuwajce definicj cieki:<br />
BOOL StrokePath(HDC hdc) – kreli ciek za pomoc biecego pióra.<br />
BOOL FillPath(HDC hdc) – zamyka odcinkiem kad otwart figur w ciece i<br />
wypełnia j uywajc pdzla biecego.<br />
Copyright © 2001-2003 Ewa Lach