´Óbmpת»»¹¤¾ßÉú³ÉµÄcÎļþÖлñµÃbitmapͼÏñÊä³ö
ÔÚº¯ÊýÌåÖÐÌí¼ÓÒÔÏ´úÂë:×¢£ºmemcpyÖеÄbitmapΪbmpÉú³ÉµÄcÎļþÊý×éÃû
int width = 533;
int height = 615;
BYTE* DDBdata=new BYTE[width*height*2];
BYTE* DIBdata;
memcpy(DDBdata,(void *)bitmap,width*height*2);
CDC *pDC=GetDC();
CDC memDC ;
memDC.CreateCompatibleDC(pDC) ;
CBitmap nBitmap,*pOldBitmap;
nBitmap.CreateBitmap(width,height,1,16,DDBdata);
pOldBitmap = memDC.SelectObject(&nBitmap);
pDC->BitBlt(0,0,width,height, &memDC, 0, 0, SRCCOPY ) ;
memDC.SelectObject(pOldBitmap) ;
memDC.DeleteDC() ;
pDC->DeleteDC();
delete []DDBdata;
Ïà¹ØÎĵµ£º
ÓÉÓÚC++±àÒëÆ÷ÐèÒªÖ§³Öº¯ÊýµÄÖØÔØ£¬»á¸Ä±äº¯ÊýµÄÃû³Æ£¬Óë±ê×¼CÖк¯ÊýÃû³Æ²»Í¬¡£È»¶ødllµÄµ¼³öº¯Êýͨ³£ÊDZê×¼C¶¨ÒåµÄ£¬Èñê×¼C±àдµÄdllº¯Êý¶¨ÒåÔÚCºÍC++±àÒëÆ÷϶¼ÄܱàÒëͨ¹ý£¬Í¨³£»áʹÓÃÒÔϵĸñʽ£º£¨Õâ¸ö¸ñʽÔںܶà³ÉÊìµÄ´úÂëÖкܳ£¼û£©
#ifdef __cplusplus extern "C"
{
#endif
// ......
CÓïÑÔÖÐÐí¶à·ûºÅÊDZ»“ÖØÔØ”µÄ£¬ÓÐЩ¹Ø¼ü×ÖÒ²±»ÖØÔضø¾ßÓкü¸ÖÖÒâÒ壬ֵµÃ×¢ÒâµÄ¼¸¸ö·ûºÅÈçÏ£º
·ûºÅ ÒâÒå
static ÔÚº¯ÊýÄÚ²¿£¬±íʾ¸Ã±äÁ¿µÄÖµÔÚ¸÷¸öµ÷ÓüäÒ»Ö±±£³ÖÑÓÐøÐÔ
ÔÚº¯ÊýÕâÒ»¼¶£¬±íʾ¸Ãº¯ÊýÖ»¶Ô±¾Îļþ¿É¼û
extern ÓÃÓÚ ......
¡¡¡¡1£¬mallocÓëfreeÊÇC++/CÓïÑԵıê×¼¿âº¯Êý£¬new/deleteÊÇC++µÄÔËËã·û¡£ËüÃǶ¼¿ÉÓÃÓÚÉêÇ붯̬ÄÚ´æºÍÊÍ·ÅÄÚ´æ¡£
¡¡¡¡2£¬¶ÔÓÚ·ÇÄÚ²¿Êý¾ÝÀàÐ͵ĶÔÏó¶øÑÔ£¬¹âÓÃmaloc/freeÎÞ·¨Âú×㶯̬¶ÔÏóµÄÒªÇó¡£¶ÔÏóÔÚ´´½¨µÄͬʱҪ×Ô¶¯Ö´Ðй¹Ô캯Êý£¬¶ÔÏóÔÚÏûÍö֮ǰҪ×Ô¶¯Ö´ÐÐÎö¹¹º¯Êý¡£ÓÉÓÚmalloc/freeÊǿ⺯Êý¶ø²»ÊÇÔËËã·û£¬²»ÔÚ±àÒëÆ ......
ʲôÊǻص÷º¯Êý£¿
¡¡¡¡¼ò¶øÑÔÖ®£¬»Øµ÷º¯Êý¾ÍÊÇÒ»¸öͨ¹ýº¯ÊýÖ¸Õëµ÷Óõĺ¯Êý¡£Èç¹ûÄã°Ñº¯ÊýµÄÖ¸Õ루µØÖ·£©×÷Ϊ²ÎÊý´«µÝ¸øÁíÒ»¸öº¯Êý£¬µ±Õâ¸öÖ¸Õë±»ÓÃΪµ÷ÓÃËüËùÖ¸ÏòµÄº¯Êýʱ£¬ÎÒÃǾÍ˵ÕâÊǻص÷º¯Êý¡£
¡¡¡¡ÎªÊ²Ã´ÒªÊ¹Óûص÷º¯Êý£¿
¡¡¡¡ÒòΪ¿ÉÒ԰ѵ÷ÓÃÕßÓë±»µ÷ÓÃÕß·Ö¿ª¡£µ÷ÓÃÕß²»¹ØÐÄËÊDZ»µ÷ÓÃÕߣ¬ËùÓÐËüÐèÖªµÀµÄ£¬Ö»ÊÇ´æÔÚ ......