C#如何实现Image无损转Icon
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
本文描述如何使用C# 实现图像转图标。正常情况下我们会直接使用Icon类的Icon.FromHandle(image.GetHicon())方法进行图像转Icon图标,但是众所周知的是这个方法的缺点是转换的图标会模糊、与原图不一致。那么如何获取高清的图标呢? 我们可以使用自定义填写数据的方式实现,如下图蓝色区域为Icon文件的头部信息,通过查看图像的头部信息,我们只需要按位填入对应的数值并填入原图byte[]类型数据即可创建Icon图像。 头部数据对照: 预 留:(地址00-01)(设置0) 类 型:(地址02-03)(1=ICO) 图片数量:(地址04-05)(默认1) 图像宽高:(地址06-07)(图标大小16、32...) 颜色数量:(地址08)(如果>=8bpp 设置0 ) 预 留:(地址09)(设置0) 颜色平面:(地址10-11)(默认1) 数据大小:(地址14-17)(图像数据长度) 数据偏移:(地址18-21)(设置22,即图像数据起始位) 如下图,左图为自定义实现转换,右图为直接使用Icon转换。 ![]() 运行效果 ![]() 代码:自定义方式
代码:窗体UI
阅读原文:https://mp.weixin.qq.com/s/NUUXJRlpim3dqSS8XcZ5Zg 该文章在 2025/5/9 15:05:46 编辑过 |
关键字查询
相关文章
正在查询... |