珞珈山水BBS电脑网络程序人生 → 单文区文章阅读

单文区文章阅读 [返回]
发信人: pcj2008 (☆蓬草江☆), 信区: Programm
标  题: Re: 求VC一问题解答,帮帮我吧,牛人们!
发信站: BBS 珞珈山水站 (Thu Aug 31 13:11:57 2006)

void PCJbirdButton::DrawBitmap(UINT bmpID)//画Bitmap位图按钮
{    
    int x,y;
    COLORREF TrancColor,color;
    CRect rcWnd;
    CClientDC dc(this); // device context for painting
    CBitmap bitM;
    bitM.LoadBitmap(bmpID);
    BITMAP bitstruct;
    bitM.GetBitmap(&bitstruct);
    CDC memDC;
    CDC memDCdraw;
     CDC *pDC;
     pDC=this->GetDC();
     this->GetWindowRect(&rcWnd);
    memDC.CreateCompatibleDC(&dc);
    memDC.SelectObject(&bitM);
    TrancColor=memDC.GetPixel(0,0);//取出透明色
    CBitmap    bitmap;
    memDCdraw.CreateCompatibleDC (&dc);
    bitmap.CreateCompatibleBitmap (&baseDC,rcWnd.Width(),rcWnd.Height());
    memDCdraw.SelectObject (&bitmap);
    memDCdraw.BitBlt (0,0,rcWnd.Width(),rcWnd.Height(),&baseDC,0,0,SRCCOPY);

    for(x=0;x<rcWnd.Width();x++)
    {
       for(y=0;y<rcWnd.Height();y++)
       {
         color=memDC.GetPixel(x,y);
         if(color!=TrancColor)
         {
             memDCdraw.SetPixel(x,y,color);
         }
       }
    }
    pDC->BitBlt(0,0,rcWnd.Width(),rcWnd.Height(),&memDCdraw,0,0,SRCCOPY);
}


--
我本是那漂泊在万里长江中的蓬草,随风远飘,万里独行,不知江月待何人,但见长江送流水。

※ 来源:·珞珈山水BBS站 http://bbs.whu.edu.cn·[FROM: 218.247.215.*]
[返回单文区目录]

武汉大学BBS 珞珈山水站 All rights reserved.
wForum , 页面执行时间:10.590毫秒