ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡ÔĶÁ¹ý³Ì·¢ÏÖÈκδíÎóÇë¸æËßÎÒÃÇ£¬Ð»Ð»£¡£¡ ±¨¸æ´íÎó
·É¶ÁÖÐÎÄÍø ·µ»Ø±¾ÊéĿ¼ ÎÒµÄÊé¼Ü ÎÒµÄÊéÇ© TXTÈ«±¾ÏÂÔØ ½øÈëÊé°É ¼ÓÈëÊéÇ©

windows»·¾³ÏÂ32λ»ã±àÓïÑÔ³ÌÐòÉè¼Æ-µÚ56ÕÂ

°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡



BITMAPCOREHEADER¡¡¡¡¡¡ENDS

¡¡

BITMAPINFOHEADER¡¡STRUCT

¡¡¡¡bcSize¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡£¿¡¡¡¡¡¡¡¡£»±¾½á¹¹³¤¶È

¡¡¡¡bcWidth¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡WORD¡¡¡¡¡¡¡¡¡¡¡¡£¿¡¡¡¡¡¡¡¡£»Î»Í¼¿í¶È

¡¡¡¡bcHeight¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡WORD¡¡¡¡¡¡¡¡¡¡¡¡£¿¡¡¡¡¡¡¡¡£»Î»Í¼¸ß¶È

¡¡¡¡bcPlanes¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡WORD¡¡¡¡¡¡¡¡¡¡¡¡£¿¡¡¡¡¡¡¡¡£»Î»Í¼µÄɫƽÃæÊý

¡¡¡¡bcBitCount¡¡¡¡¡¡¡¡¡¡¡¡¡¡WORD¡¡¡¡¡¡¡¡¡¡¡¡£¿¡¡¡¡¡¡¡¡£»Î»Í¼µÄÑÕÉ«Éî¶È

¡¡¡¡bipression¡¡¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡£¿¡¡¡¡¡¡¡¡£»Î»Í¼µÄѹËõ·½Ê½

¡¡¡¡biSizeImage¡¡¡¡¡¡¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡£¿¡¡¡¡¡¡¡¡£»Í¼Ðγߴç

¡¡¡¡biXPelsPerMeter¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡£¿¡¡¡¡¡¡¡¡£»Í¼ÐÎx·½Ïò·Ö±æÂÊ£¬µ¥Î»ÊÇÏñËØ/Ã×

¡¡¡¡biYPelsPerMeter¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡£¿¡¡¡¡¡¡¡¡£»Í¼ÐÎy·½Ïò·Ö±æÂÊ£¬µ¥Î»ÊÇÏñËØ/Ã×

¡¡¡¡biClrUsed¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡£¿

¡¡¡¡biClrImportant¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡£¿

BITMAPINFOHEADER¡¡¡¡¡¡ENDS

ÕâÁ½¸öÊý¾Ý½á¹¹Ö÷Òª°üº¬ÁËλͼµÄһЩ²ÎÊý£¬ÔÚÕâЩÊý¾Ý½á¹¹µÄºóÃ棬¾ÍÊÇλͼµÄÏñËØÊý¾ÝÁË£¬Õû¸öbmpÎļþ¾ÍÓÉÕâ3²¿·Ö×é³É¡£

ҪʹÓÃDIB£¬¿ÉÒÔÊ×ÏȽ«Õû¸öÎļþ¶Áµ½ÄÚ´æÖУ¬È»ºó´ÓÕâЩÊý¾Ý½á¹¹ÖеÃ֪λͼµÄ¸÷ÖÖ²ÎÊý£¬×îºóʹÓÃSetDIBitsToDeviceº¯Êý½«Î»Í¼Êý¾Ý¸´ÖƵ½Ò»¸öhDCÖУ¬Èç¹ûÕâ¸öhDC¶ÔÓ¦Ò»¸öδ³õʼ»¯µÄλͼ£¬ÄÇô¾ÍÏ൱Óڵõ½ÁË°üº¬´ÅÅÌbmpλͼÊý¾ÝµÄλͼ¾ä±ú£¬²¢ÇÒ¿ÉÒÔÔÚÈκεط½Ê¹ÓÃËü¡£µ±È»£¬ÔÚÕâÒÔºó¿ÉÒÔ½«¶ÁÈëÎļþÊý¾ÝµÄÄÚ´æÊͷŵô¡£

SetDIBitsToDeviceº¯ÊýµÄÓ÷¨ÊÇ£º

invoke¡¡¡¡SetDIBitsToDevice£»hDC£»xDest£»yDest£»

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dwWidth£»dwHeight£»xSrc£»ySrc£»uStartScan£»cScanLines£»

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpvBits£»lpbmi£»fuColorUse

hDCÊÇÄ¿µÄDCµÄ¾ä±ú£¬xDestºÍyDestÖ¸¶¨ÁËλͼ¸´ÖƵ½hDCµÄ×óÉϽÇλÖã¬dwWidthºÍdwHeightÖ¸¶¨ÁËÒª¸´ÖƵĿí¶ÈºÍ¸ß¶È£¬xSrcºÍySrcÖ¸¶¨DIBÖÐÒª¸´ÖƵÄ×óÉϽÇλÖã¬uStartScanºÍcScanLinesÖ¸¶¨¿ªÊ¼¸´ÖƵÄɨÃèÏߺÍÒª¸´ÖƵÄɨÃèÏßÊý£¬×îºó£¬lpvBitsÖ¸ÏòDIBÖеÄÏñËØÊý¾Ý²¿·Ö£¬lpbmiÖ¸ÏòDIBÖеÄBITMAPINFO»òBITMAPCOREINFO½á¹¹£¬fuColorUseÖ¸¶¨ÁËDIBÖÐÊý¾ÝµÄÀàÐÍ£¬ÓÃDIB_RGB_COLORS±íʾÊý¾ÝÊÇRGBÀàÐ͵ġ£

×Ó³ÌÐò_CreateDIBitmap·ÖÎöÒ»¸öDIBÎļþµÄ²ÎÊý²¢·µ»Ø°üº¬Õû¸öDIBλͼÊý¾ÝµÄλͼ¾ä±ú£¬¶ÁÕß¿ÉÒÔÔÚÈκεط½Ê¹ÓÃÕâ¸öλͼ¾ä±ú¡£×Ó³ÌÐòµÄÊäÈë²ÎÊý_hWndÓÃÀ´»ñÈ¡²Î¿¼hDCµÄ´°¿Ú¾ä±ú£¬_lpFileDataÊǽ«DIBÎļþÕû¸ö¶ÁÈëÄÚ´æºóµÄÄÚ´æÖ¸Õë¡£´úÂëÈçÏ£º

_CreateDIBitmap¡¡¡¡¡¡¡¡¡¡¡¡proc¡¡¡¡¡¡_hWnd£»_lpFileData

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡local¡¡¡¡¡¡¡¡@lpBitmapInfo£»@lpBitmapBits

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡local¡¡¡¡¡¡¡¡@dwWidth£»@dwHeight

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡local¡¡¡¡¡¡¡¡@hDc£»@hBitmap

¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pushad

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡@hBitmap£»0

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡esi£»_lpFileData

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡eax£»BITMAPFILEHEADER¡£bfOffBits¡¡£§esi£§

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡add¡¡¡¡¡¡¡¡¡¡¡¡eax£»esi

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡@lpBitmapBits£»eax

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡add¡¡¡¡¡¡¡¡¡¡¡¡esi£»sizeof¡¡BITMAPFILEHEADER

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡@lpBitmapInfo£»esi

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡¡¡BITMAPINFO¡£bmiHeader¡£biSize¡¡£§esi£§¡¡¡¡sizeof¡¡BITMAPCOREHEADER

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡movzx¡¡¡¡eax£»BITMAPCOREHEADER¡£bcWidth¡¡£§esi£§

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡movzx¡¡¡¡ebx£»BITMAPCOREHEADER¡£bcHeight¡¡£§esi£§

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£else

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡eax£»BITMAPINFOHEADER¡£biWidth¡¡£§esi£§

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡ebx£»BITMAPINFOHEADER¡£biHeight¡¡£§esi£§

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡@dwWidth£»eax

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡@dwHeight£»ebx

£»********************************************************************

£»¡¡½¨Á¢¿ÕµÄ¡¡Bitmap¡¡Object

£»********************************************************************

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡GetDC£»_hWnd

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡push¡¡¡¡¡¡¡¡¡¡eax

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡CreatepatibleDC£»eax

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡@hDc£»eax

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pop¡¡¡¡¡¡¡¡¡¡¡¡eax

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡push¡¡¡¡¡¡¡¡¡¡eax

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡CreatepatibleBitmap£»eax£»@dwWidth£»@dwHeight

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡@hBitmap£»eax

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡SelectObject£»@hDc£»@hBitmap

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pop¡¡¡¡¡¡¡¡¡¡¡¡eax

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡ReleaseDC£»hWinMain£»eax

£»********************************************************************

£»¡¡½«ÎļþÄÚÈÝÉèÖõ½½¨Á¢µÄ¡¡Bitmap¡¡ÖÐ

£»********************************************************************

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡SetDIBitsToDevice£»@hDc£»0£»0£»@dwWidth£»@dwHeight£»

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡0£»0£»0£»@dwHeight£»

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡@lpBitmapBits£»@lpBitmapInfo£»DIB_RGB_COLORS

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡¡¡eax¡¡¡¡0

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡DeleteObject£»@hBitmap

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡@hBitmap£»0

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡DeleteDC£»@hDc

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡popad

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡eax£»@hBitmap

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret

¡¡

_CreateDIBitmap¡¡¡¡¡¡¡¡¡¡¡¡endp

_CreateDIBitmap×Ó³ÌÐòÊ×ÏÈ·ÖÎöDIBÎļþµÄÊý¾Ý£¬È·¶¨BITMAPFILEHEADERºóÃæµÄÊý¾Ý½á¹¹ÊÇBITMAPINFO»¹ÊÇBITMAPCOREINFO£¬²¢´Ó½á¹¹ÖлñȡλͼµÄ¸ß¶ÈºÍ¿í¶È£¬È»ºó½¨Á¢Ò»¸öδ³õʼ»¯µÄλͼ£¬²¢ÓÃSetDIBitsToDeviceº¯Êý½«Î»Í¼Êý¾Ý¿½±´µ½Õâ¸öλͼÖУ¬×îºó½«Î»Í¼¾ä±ú·µ»ØÒÔ¹©ºóÃæʹÓá£



¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷ÕߣºÂÞÔƱò¡¡ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡


µÚ7Õ¡¡Í¼ÐβÙ×÷


7¡£4¡¡¿é´«ËͲÙ×÷£¨1£©

¡¡¡¡¡¡¡¡
³ýÁË7¡£2С½ÚÖеĻæͼº¯Êý£¬¿é´«Ëͺ¯ÊýÒ²ÊÇÖØÒªµÄͼÐβÙ×÷º¯Êý¡£¿é´«ËÍÖ¸°ÑԴλÖÃÖеÄÊý¾Ý¿é°´ÕÕÖ¸¶¨µÄ·½Ê½´«Ë͵½Ä¿µÄλÖÃÖС£°ÑÄÚ´æÖеÄλͼ¸´ÖƵ½´°¿Ú¿Í»§ÇøÒÔ¼°ÔÚ²»Í¬µÄDCÖи´ÖÆͼÐÎÊý¾Ý¶¼ÒªÓõ½¿é´«ËͲÙ×÷£¬¿é´«ËÍÍê³ÉµÄ¹¤×÷¾ÍÏ൱ÓÚͼÐÎÖ®¼äµÄ¿½±´¹¤×÷¡£¿é´«Ëͺ¯ÊýÓÐPatBlt£¬BitBlt£¬MaskBlt£¬PlgBlt£¬TransparentBltºÍStretchBltµÈ¡£

7¡£4¡£1¡¡¡¡¿é´«ËÍ·½Ê½

Óë7¡£2¡£4С½ÚÖнéÉܵĻæͼº¯ÊýµÄROP²Ù×÷ÀàËÆ£¬¿é´«Ëͺ¯ÊýÒ²ÊÇ¿ÉÒÔÓÃROPÂëÀ´¶¨ÒåµÄ´«ËÍ·½Ê½£¬µ«¿é´«Ëͺ¯ÊýµÄROPÂ붨Ò岻ͬÓÚ7¡£2¡£4С½ÚÖеÄROPÂ룬ÒòΪÕâÀïÉæ¼°µÄ²Ù×÷¶ÔÏó¸ü¶à¡£

¿é´«Ë͵ÄROPÂëÊÇÒ»¸ö32λµÄÕûÊý£¬¶ÔÓ¦µÄ²Ù×÷Éæ¼°3ÖÖԭʼÊý¾Ý£ºÔ´ÏñËØ¡¢Ä¿±êÏñËغͻ­Ë¢£¬¿é´«ËͲÙ×÷µÄ½á¹ûÊÇÄ¿±êÏñËصÄÊý¾Ý±»3ÖÖԭʼÊý¾ÝµÄ¼ÆËã½á¹ûÌæ»»µô¡£

²¢²»ÊÇÿһÖÖROPÂ붼ҪÓõ½È«²¿3ÖÖԭʼÊý¾Ý£¬ÓеÄÉõÖÁÁ¬1ÖÖÒ²Óò»µ½£¬ÀýÈçÈ«ºÚ»òÕßÈ«°×µÄROPÂë¡£¿é´«Ëͺ¯ÊýʹÓõÄROPÂë×ܹ²ÓÐ256ÖÖ£¬ËüÃÇÊÇ3ÖÖԭʼÊý¾Ý½øÐв»Í¬Î»²Ù×÷£¨È¡·´¡¢Óë¡¢»òºÍÒì»ò£©µÄ×éºÏ£¬µ«ÓÐЩROPÂë¶ÔÓ¦µÄ²Ù×÷½á¹ûʵÔÚÊÇÌ«ÄÑÏëÏñÁË£¬±ÈÈçROPÂë0e20746¶ÔÓ¦µÄ²Ù×÷ÊÇ£¨£¨Ä¿±êÏñËØ¡¡xor¡¡»­Ë¢£©¡¡and¡¡Ô´ÏñËØ£©¡¡xor¡¡Ä¿±êÏñËØ£©£¬Æ¾Õâ¸öËãʽµÄÈ·±È½ÏÄÑÒÔÏëÏñ×îºóµÃµ½µÄλͼÊÇʲôÑù×ӵģ¡ÔÚʵ¼ÊʹÓÃÖкܶàËã·¨×éºÏÒ²²¢²»ÊÇÄÇôÓÐÓã¬ËùÒÔWindowsÖ»¶Ô15ÖÖ×î³£ÓõÄROPÂ붨ÒåÁËÔ¤¶¨ÒåµÄÖú¼Ç´úÂ룬¡¡

Èç±í7¡£6Ëùʾ£¬¶ÔÓÚÕâЩROPÂ룬ÔÚ³ÌÐòÖпÉÒÔÖ±½ÓʹÓÃÖú¼ÇÂ룬¶ÔÓÚ±íÖÐûÓÐÁгöµÄROPÂ룬¿ÉÒÔÖ±½ÓʹÓÃ16½øÖÆÊýÖµ¡£

±í7¡£6¡¡¡¡¿é´«Ëͺ¯ÊýÖÐʹÓõÄROPÂë

ROPÂë
¡¡16½øÖÆÊýÖµ
¡¡ÐÂÏñËصãËã·¨
¡¡
BLACKNESS
¡¡00000042h
¡¡È«²¿Îª0
¡¡
DSTINVERT
¡¡00550009h
¡¡not¡¡Ä¿±êÏñËØ
¡¡
MERGECOPY
¡¡00c000cah
¡¡»­Ë¢¡¡and¡¡Ô´ÏñËØ
¡¡
MERGEPAINT
¡¡00bb0226h
¡¡£¨not¡¡Ô´ÏñËØ£©or¡¡Ä¿±êÏñËØ
¡¡
NOTSRCCOPY
¡¡00330008h
¡¡not¡¡Ô´ÏñËØ
¡¡
NOTSRCERASE
¡¡001100a6h
¡¡not£¨Ô´ÏñËØ¡¡or¡¡Ä¿±êÏñËØ£©
¡¡
PATCOPY
¡¡00f00021h
¡¡»­Ë¢
¡¡
PATINVERT
¡¡005a0049h
¡¡»­Ë¢¡¡xor¡¡Ä¿±êÏñËØ
¡¡
PATPAINT
¡¡00fb0a09h
¡¡»­Ë¢¡¡or¡¡£¨not¡¡Ô´ÏñËØ£©or¡¡Ä¿±êÏñËØ
¡¡
SRCAND
¡¡008800c6h
¡¡Ô´ÏñËØ¡¡and¡¡Ä¿±êÏñËØ
¡¡
SRCCOPY
¡¡00cc0020h
¡¡Ô´ÏñËØ
¡¡
SRCERASE
¡¡00440328h
¡¡Ô´ÏñËØ¡¡and£¨not¡¡Ä¿±êÏñËØ£©
¡¡
SRCINVERT
¡¡00660046h
¡¡Ô´ÏñËØ¡¡xor¡¡Ä¿±êÏñËØ
¡¡
SRCPAINT
¡¡00ee0086h
¡¡Ô´ÏñËØ¡¡or¡¡Ä¿±êÏñËØ
¡¡
WHITENESS
¡¡00ff0062h
¡¡È«²¿Îª1
¡¡

7¡£4¡£2¡¡¡¡¿é´«Ëͺ¯Êý

1¡£¡¡PatBltº¯Êý

PatBltº¯ÊýÍê³ÉµÄÊÇ¡°Í¼°¸¿é´«ËÍ¡±µÄ¹¦ÄÜ£¬¼´¡°Pattern¡¡Block¡¡Transfer¡±¡£Ê¹Óõķ½·¨ÊÇ£º

invoke¡¡¡¡PatBlt£¬hDC£¬xDest£¬yDest£¬dwWidth£¬dwHeight£¬dwROP

Õâ¸öº¯Êý½«µ±Ç°»­Ë¢µÄͼ°¸¿½±´µ½hDCÖÐÒÔ£¨xDest£¬yDest£©Îª×óÉϽÇ×ø±ê£¬dwWidthΪ¿í¶È£¬dwHeigthΪ¸ß¶ÈµÄÇøÓòÖУ¬´«Ë͵ķ½Ê½ÓÉdwROPÖеÄROPÂëÖ¸¶¨¡£PatBltº¯ÊýµÄ¹¦Äܺ;ØÐÎÌî³äº¯ÊýFillRectÓëInvertRectµÈÊǺÜÏñµÄ£¬µ«Ëü°üº¬ÁËËüÃǵÄÈ«²¿¹¦ÄÜ£¬ÈçROPÂëÖ¸¶¨DSTINVERT£¬ÄÇôPatBltµÄ¹¦ÄܾÍÏ൱ÓÚInvertRectº¯Êý£»ROPÂëÖ¸¶¨ÎªPATCOPYµÄʱºò£¬PatBltµÄ¹¦ÄÜÏ൱ÓÚFillRectº¯Êý¡£

ÔÚBmpClock¡£asmµÄ_CreateBackGround×Ó³ÌÐòÖУ¬µ±½¨Á¢±³¾°Í¼Æ¬µÄʱºò£¬¾ÍÊÇÓÃPATCOPY·½Ê½µÄPatBltº¯ÊýÓÃ×ÊÔ´Öеı³¾°Í¼Æ¬Ìî³äÕû¸öʱÖÓ±³¾°µÄ¡£

ÔÚËùÓеÄROPÂëÖУ¬¿ÉÒÔÓÃÔÚPatBltº¯ÊýÖеÄÖ»ÓÐÒ»²¿·Ö£¬ËùÓÐËã·¨Öаüº¬Ô´ÏñËصÄROPÂëÔÚPatBltº¯Ê
·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨0£© ²È£¨0£©
δÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾­Ñé½±Àø£¬ÈÏÕæдԭ´´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾­Ñé½±ÀøŶ£¡