23.10.2014 Views

WinApi-grafika 2D

WinApi-grafika 2D

WinApi-grafika 2D

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!