社区
界面
帖子详情
icon图标去色问题
werflychen
2010-12-13 03:49:48
请问一下各位高手,
windows界面中显示的icon图标,实现灰显效果。windows自带的灰显效果不符合项目的要求,小弟现在想实现的效果是将icon去色显示,即是PS中的去色效果,请问一下如何实现?会很难吗?或有其他方案实现灰显也可以。
各位没时间的话,给个思路也行,最好给个示例代码,不胜感激!
...全文
328
11
打赏
收藏
icon图标去色问题
请问一下各位高手, windows界面中显示的icon图标,实现灰显效果。windows自带的灰显效果不符合项目的要求,小弟现在想实现的效果是将icon去色显示,即是PS中的去色效果,请问一下如何实现?会很难吗?或有其他方案实现灰显也可以。 各位没时间的话,给个思路也行,最好给个示例代码,不胜感激!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
nwao7890
2010-12-14
打赏
举报
回复
[Quote=引用 7 楼 coconut1234 的回复:]
此函数返回的HICON使用完要调用DeleteObject释放掉
HICON ConvertIconToGray(HICON hIcon){
BITMAP bmp;
CDC mainDC;
CDC bmpDC;
CDC iconDC;
ICONINFO csII;
BOOL bRetValue=GetIconInfo(hIcon,&csII); ……
[/Quote]不錯。
werflychen
2010-12-14
打赏
举报
回复
[Quote=引用 7 楼 coconut1234 的回复:]
此函数返回的HICON使用完要调用DeleteObject释放掉
HICON ConvertIconToGray(HICON hIcon){
BITMAP bmp;
CDC mainDC;
CDC bmpDC;
CDC iconDC;
ICONINFO csII;
BOOL bRetValue=GetIconInfo(hIcon,&csII); ……
[/Quote]
coconut1234这位大神正解,膜拜一个。。。。。非常感谢。。。
coconut1234
2010-12-14
打赏
举报
回复
此函数返回的HICON使用完要调用DeleteObject释放掉
HICON ConvertIconToGray(HICON hIcon){
BITMAP bmp;
CDC mainDC;
CDC bmpDC;
CDC iconDC;
ICONINFO csII;
BOOL bRetValue=GetIconInfo(hIcon,&csII);
if (bRetValue==FALSE) return NULL;
mainDC.Attach(::GetDC(NULL));
iconDC.CreateCompatibleDC(&mainDC);
DWORD dwWidth=csII.xHotspot*2;
DWORD dwHeight=csII.yHotspot*2;
iconDC.SelectObject(csII.hbmColor);
GetObject(csII.hbmColor,sizeof(BITMAP),&bmp);
HBITMAP hbmp=CreateCompatibleBitmap(iconDC,dwWidth,dwWidth);
bmpDC.CreateCompatibleDC(&mainDC);
bmpDC.SelectObject(hbmp);
bmpDC.BitBlt(0,0,dwWidth,dwHeight,&iconDC,0,0,SRCCOPY);
COLORREF col;
unsigned char gray;
for(DWORD x=0;x<dwWidth;++x){
for(DWORD y=0;y<dwHeight;++y){
col=bmpDC.GetPixel(x,y);
gray=(unsigned char)(0.299f*(float)GetRValue(col)
+0.587f*(float)GetGValue(col)
+0.114f*(float)GetBValue(col)+0.5f);
col=RGB(gray,gray,gray);
bmpDC.SetPixel(x,y,col);
}
}
HICON ret;
ICONINFO csIII;
memcpy(&csIII,&csII,sizeof(ICONINFO));
csIII.hbmColor=hbmp;
ret=CreateIconIndirect(&csIII);
DeleteObject(hbmp);
DeleteDC(bmpDC);
DeleteDC(iconDC);
DeleteDC(mainDC);
return ret;
}
werflychen
2010-12-14
打赏
举报
回复
再一次膜拜coconut1234这位大神。。。
samhuang123456789
2010-12-14
打赏
举报
回复
coconut1234真是大牛啊,小弟膜拜中
zzz_zou
2010-12-13
打赏
举报
回复
图标去色? 过滤? 全部变成黑白的?? 但是图像都还在?
werflychen
2010-12-13
打赏
举报
回复
[Quote=引用 3 楼 nwao7890 的回复:]
http://www.cguage.com/2010/07/animate_button_update.html
c瓜哥,的控件可以满足你的要求,代码自己去下
[/Quote]
这个代码对解决小弟的问题没有帮助阿,里面把图标直接是EnableWindow(false),我要的不是这样的,我想要的是把图标去色阿。。。
nwao7890
2010-12-13
打赏
举报
回复
记得多谢C瓜哥,还有我
nwao7890
2010-12-13
打赏
举报
回复
http://www.cguage.com/2010/07/animate_button_update.html
c瓜哥,的控件可以满足你的要求,代码自己去下
werflychen
2010-12-13
打赏
举报
回复
[Quote=引用 1 楼 nwao7890 的回复:]
不晓得你要干什么,不过你可以把PS去过色的ICON放到程序中,然后在你需要的时候用。
[/Quote]
想要实现按钮的灰显,我想要在程序中生成,因为很多图片,所以把PS去过色的ICON放到程序中这个方案不可行。
nwao7890
2010-12-13
打赏
举报
回复
不晓得你要干什么,不过你可以把PS去过色的ICON放到程序中,然后在你需要的时候用。
C#无损转换Image为
Icon
的方法
如题,市面上常见的方法是: var handle = bmp.GetH
icon
(); //得到
图标
句柄 return
Icon
.FromHandle(handle); //通过句柄得到
图标
此法的
问题
是,如果图像是透明背景,那么得到的
Icon
的边缘就是毛糙的,像是先垫了一层背景色然后再
去色
的效果,很不如人意,用过的朋友都知道。尚未研究是bmp.GetH
icon
出的
问题
,还是
Icon
.FromHandle有
问题
,日后有闲心再捣鼓下。 下面给出完美转换方法: /// /// 转换Image为
Icon
/// /// <param name="ima
vue项目 - svg格式的
icon
图标
无法显示颜色
前言 在项目中遇到svg格式的
icon
图标
无法显示颜色,这个
问题
。尝试过很多方法,最后发现不是代码的
问题
,而是
icon
font
图标
库中没有配置好。 1. 发现
问题
如下 当点击菜单选项时,
icon
和文字同时变色。 2. 解决方案 第一步:在
icon
font
图标
库中找到该
图标
,点击批量操作 第二步:
图标
去色
第三步:重新下载
图标
至项目文件中,最后重启项目 这时,
图标
就有颜色啦 ...
手把手教你在vue中使用
icon
图标
,附demo代码
icon
图标
的使用 START
icon
图标
的使用,对于番茄我来说,算是一个痛点吧。写这篇文章之前,也看了不少别人有关
图标
使用的博客。想了很久,还是想自己写一篇属于番茄我自己的一篇
图标
相关的博客。一来是复习,一来算是总结。这次必不会鸽了,一气呵成,一次到位. 文章的主体顺序,还是按照我接触的先后做排序的,由易到难,这样方便理解。当然,番茄我了解的知识,或许也不够全面,请见谅. 出于比较有责任的想法,我会写比较多的demo,展示具体用法,确保百分百可以运行,方便学习或CV. 为了方便整合,所有演示demo我
前端开发中
icon
图标
使用的那些门道儿
前端开发
图标
使用 在日常开发,前端coder绕不开一个话题,在页面上添加各种小
图标
,比如 或者是这样的: 一般来说,总体上有三种方案: 位图
图标
,png图片,经典的使用场景——精灵图; 字体
图标
,比较有名的:Font Awesome、
icon
-font svg
图标
,配合前端框架使用,SVG Sprite技术了解一下…… 位图
图标
在IE时代,由于浏览器的兼容性
问题
,png图片是一个不得不采...
添加自定义字体
icon
图标
先提供一个比较好的自定义
icon
图标
库阿里
图标
库所以接下来的使用主要就是以从上面提供的网址下载的
icon
图标
为例(如果不会使用,请参考使用下载完之后是一个压缩包,解压后,只需要根据我们的需要把相应的文件放入我们的项目中即可需要注意的是:我们一般会将我们下载的字体
图标
放在我们自己建fonts文件夹中,把
icon
font.css放在css文件夹中,如果你这样做了,一定要记得修改
icon
font中的路径...
界面
15,979
社区成员
115,897
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章