QQ在线时如何让自己的头像在群里变成灰色啊?7
发布网友
发布时间:2023-09-28 06:19
我来回答
共5个回答
热心网友
时间:2024-08-27 10:41
找张灰色的图片做头像
热心网友
时间:2024-08-27 10:44
让CMyListCtrl 显示灰色图片头像(非在线用户)
方法1:用图像处理软件如:photoshop处理成单色位图文件后使用.处理位图文件个数不多时还行,否则就显得麻烦了,其优点运行速度快。
方法2:也可用软件代码实现转换,前者的方法用软件代码转换的方法也是可行的,象LoadImage ()或CopyImage()API都可实现,但要占用很多CUP时间。
实现彩色图片到单色位图转换的方法是先获取CMyListCtrl的ImageList 并提取ListCtrl中的Item 对应的图像后,用代码转换成单色位图并在原位置显示。转换过程如下:
CImageList* pImageList=NULL;
pImageList = GetImageList(LVSIL_SMALL);
if(pImageList !=NULL)
{
HICON hIcon=NULL;
hIcon = pImageList->ExtractIcon(nItem);
HBITMAP hbitmap,hBitmapMask;
ICONINFO* iconinfo = new ICONINFO;
if(::GetIconInfo(hIcon, iconinfo))
{
hbitmap = iconinfo->hbmColor;
hBitmapMask = iconinfo->hbmMask;
if (!(nStyle & TVS_ONLINEUSER))
//hbitmap = BitmapColorToGray(m_hDll,&memDC,hbitmap);
hbitmap = (HBITMAP) CopyImage(hbitmap, IMAGE_BITMAP,0, 0,LR_COPYDELETEORG|LR_MONOCHROME);
DrawBitmap(m_hDll, &memDC,hbitmap,rcIcon);
DeleteObject(hbitmap);
DeleteObject(hBitmapMask);
}
delete iconinfo;
::DestroyIcon(hIcon);
}
实现彩色图片到单色位图转换的语句为:
hbitmap = (HBITMAP) CopyImage(hbitmap, IMAGE_BITMAP,0, 0,LR_COPYDELETEORG|LR_MONOCHROME);
热心网友
时间:2024-08-27 10:48
同有此问
热心网友
时间:2024-08-27 10:48
我的头像都是灰白的- -
热心网友
时间:2024-08-27 10:48
找张黑白的头像最好了