• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 10, comments - 1, trackbacks - 0, articles - 2

            根據圖片產生不規則形狀窗口

            Posted on 2008-08-30 20:43 Ben仔 閱讀(651) 評論(0)  編輯 收藏 引用 所屬分類: c++
            //下面為根據指定的位圖以及要去掉的顏色生成一個區域  
              HRGN   SetRgn(HBITMAP   hBitmap,COLORREF   clrKey)    
              {  
                  CBitmap   bitmap   ;  
                  bitmap.Attach(hBitmap)   ;  
                  BITMAP   bitmapInfo   ;  
                  bitmap.GetBitmap(&bitmapInfo)   ;  
                  int   nRow   =   bitmapInfo.bmHeight   ;  
                  int   nCol   =   bitmapInfo.bmWidth   ;  
                   
                  CDC   memDC   ;  
                  memDC.CreateCompatibleDC(NULL)   ;  
                  CBitmap*   pOldBitmap   =   memDC.SelectObject(&bitmap)   ;  
                  CRgn   rgn   ;      
                  rgn.CreateRectRgn(0,0,nCol,nRow)   ;  
                  for(int   y   =   0;   y   <   nRow;   y++)  
                  {  
                            for(int   x   =   0;   x   <   nCol;   x++)  
                            {  
                  COLORREF   clrPixel   =   memDC.GetPixel(y,x)   ;  
                  if(clrPixel   ==   clrKey)//去除關鍵色  
                  {  
                        CRgn   rgnTemp   ;  
                        rgnTemp.CreateRectRgn(y,x,y+1,x+1)   ;  
                        rgn.CombineRgn(pRgn,&rgnTemp,RGN_XOR)   ;  
                        rgnTemp.DeleteObject()   ;  
                  }  
                            }  
                    }  
                    memDC.SelectObject(pOldBitmap)   ;  
                    memDC.DeleteDC()   ;  
                    bitmap.Detach()   ;  
                    (HRGN)return   rgn.Detach()   ;  
              }  
               
              根據生成的區域設置窗口  
              void   SetWndRgn(HWND   hWnd,HBITMAP   hBitmap)  
              {    
                    HRGN   hRgn   =   SetRgn(hBitmap,clrKey)//其中clrKey為要mask掉的顏色值  
                    SetWindowRgn(hRgn)   ;  
                    return   ;  
              }

            網上找到1個代碼例子 下載
            另外1個方法是用 SetLayeredWindowAttributes 例子 下載
            久久天天躁狠狠躁夜夜2020老熟妇| 久久这里都是精品| 久久99亚洲网美利坚合众国| 久久综合给久久狠狠97色| 精品久久久久久久| 中文字幕无码av激情不卡久久 | 久久99热精品| 亚洲国产成人久久综合野外| 久久亚洲AV成人无码电影| 国产午夜福利精品久久| 国产成人无码久久久精品一| 中文字幕精品久久久久人妻| 99久久精品国产毛片| 久久久久国产精品熟女影院| 久久夜色精品国产www| AA级片免费看视频久久| MM131亚洲国产美女久久| 久久久亚洲裙底偷窥综合| 国产精品免费久久| aaa级精品久久久国产片| 午夜精品久久久久久中宇| 无码八A片人妻少妇久久| 久久99精品国产麻豆不卡| 久久久综合九色合综国产| 久久99精品久久久久久动态图 | 久久久婷婷五月亚洲97号色| 人人狠狠综合久久亚洲| 久久影视综合亚洲| 韩国三级中文字幕hd久久精品| 99久久精品国产高清一区二区 | 久久久噜噜噜久久| 久久国产综合精品五月天| 久久精品国产精品亚洲下载| 久久精品国产精品亚洲| 亚洲国产成人精品久久久国产成人一区二区三区综 | 久久精品成人欧美大片| 久久人人爽人人爽人人片AV东京热 | 亚洲日本久久久午夜精品| 久久亚洲电影| 精品人妻伦九区久久AAA片69| 久久热这里只有精品在线观看|