PatBlt

¿øÇü

BOOL PatBlt(HDC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, DWORD dwRop);

MFC ¿øÇü

BOOL CDC::PatBlt( int x, int y, int nWidth, int nHeight, DWORDdwRop );

Àμö

¢ºhdc : DCÀÇ ÇÚµé

¢ºnXLeft, nYLeft : ä»öÀ» ½ÃÀÛÇÒ Á»ó´Ü ÁÂÇ¥. ³í¸® ÁÂÇ¥ÀÌ´Ù.

¢ºnWidth, nHeight : ä»öÇÒ »ç°¢ ¿µ¿ªÀÇ ³ÐÀÌ¿Í ³ôÀÌ

¢ºdwRop : ä»ö ¹æ¹ýÀ» ÁöÁ¤ÇÏ´Â Ç÷¡±×ÀÌ¸ç ´ÙÀ½ Áß ÇϳªÀÇ Ç÷¡±×¸¦ ÁöÁ¤ÇØ ÁØ´Ù. ÀÌ Ç÷¡±×µéÀº ÇöÀç DC¿¡ ¼±ÅõǾî ÀÖ´Â ºê·¯½ÃÀÇ »ö»ó°ú È­¸é¿¡ ÀÌ¹Ì Ãâ·ÂµÇ¾î ÀÖ´Â ±×¸²ÀÇ »ö»óÀ» ¾î¶»°Ô È¥ÇÕÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù.

Ç÷¡±×

¼³¸í

PATCOPY

DC¿¡ ¼±ÅõǾî ÀÖ´Â ºê·¯½ÃÀÇ »ö»óÀ» ±×´ë·Î Ãâ·ÂÇÑ´Ù.

PATINVERT

ºê·¯½ÃÀÇ »ö»ó°ú È­¸éÀÇ »ö»óÀ» XOR ¿¬»êÇÑ´Ù.

DSTINVERT

È­¸éÀÇ »ö»óÀ» ¹ÝÀü½ÃŲ´Ù.

BLACKNESS

ÆÈ·¹Æ®ÀÇ 0¹ø »ö»óÀ¸·Î ä¿î´Ù. º¸Åë °ËÁ¤»öÀÌ´Ù.

WHITENESS

ÆÈ·¹Æ®ÀÇ 1¹ø »ö»óÀ¸·Î ä¿î´Ù. º¸Åë Èò»öÀÌ´Ù.

 

¸®ÅÏ

¼º°øÇϸé 0ÀÌ ¾Æ´Ñ °ªÀ» ¸®ÅÏÇÏ¸ç ½ÇÆÐÇÒ °æ¿ì 0À» ¸®ÅÏÇÑ´Ù.

¼³¸í

ÁöÁ¤ÇÑ »ç°¢ ¿µ¿ªÀ» ä»öÇ쵂 ÇöÀç DC¿¡ ¼±ÅõǾî ÀÖ´Â ºê·¯½Ã¿Í È­¸éÀÇ »ö»óÀ» ³í¸® ¿¬»êÇÑ´Ù. ³í¸® ¿¬»êÀÇ Á¾·ù¿¡ µû¶ó µÎ »ö»óÀ» ´Ù¾çÇÏ°Ô È¥ÇÕÇÒ ¼ö ÀÖ´Ù. ºñÆ®¸Ê ºê·¯½Ã°¡ ¼±ÅõǾî ÀÖ´Ù¸é ÀÌ ÇÔ¼ö·Î ºñÆ®¸ÊÀ» Ãâ·ÂÇÒ ¼öµµ ÀÖ´Ù. ¸ðµç ÀåÄ¡°¡ ÀÌ ÇÔ¼ö¸¦ ´Ù Áö¿øÇÏ´Â °ÍÀº ¾Æ´Ï¹Ç·Î GetDeviceCaps ÇÔ¼öÀÇ RC_BITBLT À妽º·Î ÀÌ ÇÔ¼ö°¡ Áö¿øµÇ´ÂÁö¸¦ ¸ÕÀú Á¶»çÇÑ ÈÄ »ç¿ëÇØ¾ß ÇÑ´Ù.

¿¹Á¦ 1

´ÙÀ½ ¿¹Á¦´Â Áß¾Ó¿¡ ³ë¶õ»ö ¿øÀ» ±×¸®°í 4¹æÇâÀ¸·Î ÆĶõ»ö »ç°¢ÇüÀ» °ãÃļ­ ä»öÇ쵂 ROP ¸ðµå¸¦ °¢°¢ ´Ù¸£°Ô ÇÏ¿© Ãâ·ÂÇÔÀ¸·Î½á ROP ¿¬»êÀ» °á°ú¸¦ »ìÆ캼 ¼ö ÀÖµµ·Ï ÇÏ¿´´Ù.

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
	HDC hdc;
	PAINTSTRUCT ps;
	HBRUSH hBrYellow, hBrBlue, hBrOld;
	switch(iMessage) {
	case WM_PAINT:
		hdc=BeginPaint(hWnd, &ps);
		hBrYellow=CreateSolidBrush(RGB(255,0,255));
		hBrBlue=CreateSolidBrush(RGB(0,0,255));
		hBrOld=(HBRUSH)SelectObject(hdc,hBrYellow);
		Ellipse(hdc,100,100,400,300);

		SelectObject(hdc,hBrBlue);
		PatBlt(hdc,200,50,100,100,PATCOPY);
		PatBlt(hdc,200,250,100,100,PATINVERT);
		PatBlt(hdc,50,150,100,100,DSTINVERT);
		PatBlt(hdc,350,150,100,100,BLACKNESS);

		SelectObject(hdc,hBrOld);
		DeleteObject(hBrYellow);
		DeleteObject(hBrBlue);
		EndPaint(hWnd, &ps);
		return 0;
	case WM_DESTROY:
		PostQuitMessage(0);
		return 0;
	}
	return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}

ROP ¿¬»êÀÇ °á°ú´Â ´ÙÀ½°ú °°´Ù.

PATCOPY·Î Ãâ·ÂÇÑ 12½ÃÀÇ »ç°¢ÇüÀº ºê·¯½ÃÀÇ »ö»óÀ¸·Î Ãâ·ÂµÇ¾úÀ¸¸ç PATINVERT·Î Ãâ·ÂÇÑ 6½ÃÀÇ »ç°¢ÇüÀº È­¸é»ö»ó°ú ºê·¯½ÃÀÇ »ö»óÀ» XOR ¿¬»êÇÑ °á°ú°¡ Ãâ·ÂµÈ´Ù. DSTINVERT´Â ºê·¯½ÃÀÇ »ö»ó°ú´Â »ó°ü¾øÀÌ È­¸éÀÇ »ö»óÀ» ¹ÝÀü½ÃÅ°¸ç BLACKNESS´Â °ËÁ¤»öÀ¸·Î Ãâ·ÂµÈ´Ù.

Âü°íÇÔ¼ö

FillRect

Ç÷§Æû

95ÀÌ»ó

ÂüÁ¶

 


written by http://www.winapi.co.kr