| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2970 人关注过本帖
标题:提取了几个Win11图标,转换为透明png,放到命令按钮中如何做到透明效果呢?
只看楼主 加入收藏
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1737
专家分:3329
注 册:2012-2-29
收藏
得分:0 
好!
2022-10-15 16:50
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
windows的icon资源可以取用,不用转出png
2022-10-15 22:45
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:351
专家分:335
注 册:2013-10-4
收藏
得分:0 
以下是引用吹水佬在2022-10-15 22:45:11的发言:
windows的icon资源可以取用,不用转出png


windows的icon有好多个尺寸,如Win11的ICO有:
256*256
64*64
48*48
40*40
32*32
24*24
20*20
16*16
若要用到16*16、24*24或64*64之类尺寸,感觉上,仍是转出相应精确尺寸的PNG会比较方便。
2022-10-17 07:58
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
win10也有,可直接从PE文件里取出
2022-10-17 13:19
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
通常的api默认ICON有16*16(小图标)和32*32(大图标),GDI+的api也是如此,会自动变形。
微软过去与IBM对ICON有协议16*16和32*32,不知是否与这有关。

2022-10-17 14:11
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
有空用VFP写个按PE格式直接从文件提取图标(256*256到16*16)。
用C简单试了一下 shell32.dll.mun 大大小小就有3000多个icon,不知有无重复。
解释PE涉及到不少结构类型数据和地址换算,用VFP写有点复杂,要慢慢试。

2022-10-18 23:04
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
简单转换一下 PNG-->ICO 也可以

** form.PngToIco(pngPath)
LPARAMETERS pngPath
png = FILETOSTR(pngPath)
ico = 0h000001000100+REPLICATE(0h00,8)+BINTOC(LEN(png),"4rs")+0h16000000+png
icon = FORCEEXT(pngPath,"ico")
STRTOFILE(ico,icon)
RETURN icon

** CommandButton.Init
this.Picture = thisform.PngToIco(this.Picture)
2022-10-25 15:52
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
Win10的也有不少,使用时可以从文件引用,用完就丢。
对于image使用在内存处理就可以,不用导出文件。
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册


还有一组10个不同大小的,256*256 ~~~ 16*16
图片附件: 游客没有浏览图片的权限,请 登录注册
2022-10-27 09:35
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
XP好象不支持PNG图像数据的ICON
2022-10-27 09:42
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:351
专家分:335
注 册:2013-10-4
收藏
得分:0 
感谢精彩示例!想不到PNG-->ICO会这么简单。

以下是引用吹水佬在2022-10-25 15:52:17的发言:

简单转换一下 PNG-->ICO 也可以

** form.PngToIco(pngPath)
LPARAMETERS pngPath
png = FILETOSTR(pngPath)
ico = 0h000001000100+REPLICATE(0h00,8)+BINTOC(LEN(png),"4rs")+0h16000000+png
icon = FORCEEXT(pngPath,"ico")
STRTOFILE(ico,icon)
RETURN icon

** CommandButton.Init
this.Picture = thisform.PngToIco(this.Picture)

2022-10-27 10:59
快速回复:提取了几个Win11图标,转换为透明png,放到命令按钮中如何做到透明效果 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018360 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved