gpt4 book ai didi

c++ - 是否可以创建具有 alpha 混合透明度的 CImageList?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:37:06 24 4
gpt4 key购买 nike

我想知道是否可以创建具有 alpha 混合透明度的 CImageList。

创建具有丑陋透明度(无 alpha 混合)的 CImageList 的示例代码

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 标志(来自 MSDN ):

Using 32 Bit Anti-Aliased Icons

Windows XP imagelists, which are collections of images used with certain controls such as list-view controls, support the use of 32-bit anti-aliased icons and bitmaps. Color values use 24 bits, and 8 bits are used as an alpha channel on the icons. To create an imagelist that can handle a 32-bits-per-pixel (bpp) image, call the ImageList_Create function passing in an ILC_COLOR32 flag.

关于c++ - 是否可以创建具有 alpha 混合透明度的 CImageList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2640823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com