本文介绍了是否可以创建一个具有alpha混合透明度的CImageList?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
创建一个具有丑陋透明度的CImageList的示例代码(无Alpha混合)
CGdiPlusBitmapResource m_pBitmap;
m_pBitmap.Load(IDB_RIBBON_FILESMALL,_T(PNG),AfxGetResourceHandle());
HBITMAP hBitmap;
m_pBitmap.m_pBitmap-> GetHBITMAP(RGB(0,0,0),& hBitmap);
CImageList * pList = new CImageList;
CBitmap bm;
bm.Attach(hBitmap);
pList-> Create(16,16,ILC_COLOR32 | ILC_MASK,0,4);
pList-> Add(& bm,RGB(255,0,255));
解决方案
不要使用 ILC_MASK
标志(来自):
I would like to knwo if it is possible to create a CImageList with alpha blending transparency.
Sample code that creates a CImageList with ugly transparency (no alpha blending)
CGdiPlusBitmapResource m_pBitmap;
m_pBitmap.Load(IDB_RIBBON_FILESMALL,_T("PNG"),AfxGetResourceHandle());
HBITMAP hBitmap;
m_pBitmap.m_pBitmap->GetHBITMAP(RGB(0,0,0),&hBitmap );
CImageList *pList=new CImageList;
CBitmap bm;
bm.Attach(hBitmap);
pList->Create(16, 16, ILC_COLOR32 | ILC_MASK, 0, 4);
pList->Add(&bm, RGB(255,0,255));
解决方案
Don't use the ILC_MASK
flag (from MSDN):
这篇关于是否可以创建一个具有alpha混合透明度的CImageList?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!