• <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仔 閱讀(650) 評論(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 例子 下載
            国产午夜福利精品久久2021| 伊人久久大香线蕉综合Av| 久久99精品国产一区二区三区| 国产婷婷成人久久Av免费高清 | 精品久久久久久无码中文野结衣| 国产欧美久久一区二区| 亚洲精品午夜国产va久久| 国产精品久久久久影视不卡| 99久久伊人精品综合观看| 久久午夜无码鲁丝片秋霞 | 热99RE久久精品这里都是精品免费| 亚洲国产欧美国产综合久久| 超级碰久久免费公开视频| 久久天天躁狠狠躁夜夜不卡| 国产一级做a爰片久久毛片| 久久精品中文字幕大胸| 蜜桃麻豆www久久| 久久精品人人槡人妻人人玩AV| 久久av免费天堂小草播放| 久久午夜伦鲁片免费无码| 深夜久久AAAAA级毛片免费看 | 国产亚州精品女人久久久久久 | 99久久免费国产精精品| 2019久久久高清456| 久久无码人妻精品一区二区三区 | 久久国产精品成人影院| 中文字幕久久亚洲一区| 蜜臀久久99精品久久久久久| 国内精品久久久久久久影视麻豆| 97精品久久天干天天天按摩| 色88久久久久高潮综合影院| 狠狠色丁香久久婷婷综合图片 | 狠狠色丁香久久婷婷综合五月| 一本久道久久综合狠狠躁AV| 很黄很污的网站久久mimi色| 久久久精品一区二区三区| 狠狠色婷婷久久一区二区三区 | 亚洲精品美女久久久久99| 伊人久久大香线蕉亚洲| 久久精品一本到99热免费| 香蕉久久夜色精品升级完成|