博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
精简ICO图标可减小EXE程序文件大小
阅读量:6863 次
发布时间:2019-06-26

本文共 1234 字,大约阅读时间需要 4 分钟。

精简ICO图标可减小EXE程序文件大小

 

 

         使用VS2010编写的小程序,两百行不到的代码,生成的可执行程序却有3百多KB!心想不该如此之大才对。在下次编写小程序的时候,在刚建立解决方案的时候,生成的默认窗口的EXE程序才8KB!将之前程序的源代码复制进去,程序大小也才40KB!和之前的3百多KB相差也太多了。

于是进行了一番实验,结果如下:

 

默认解决方案

更换图标后

程序的左上角图标

 

EXE文件的图标

 

EXE文件大小

而更换的图标文件信息如下:

 

可见,设置了两处的图标后,文件的大小刚好是两个图标文件的大小。为此要想精简EXE文件的大小,就必须将图标精简到最小。

         通过搜索相关资料,找到了Windows支持的标准图标大小。

 

意思说:只要一个图标文件中包含标准尺寸的图标即可。而通过软件Axialis ICOWorkshop 打开什么的图标,发现里面包含了从16X16 128X128的各个尺寸,image

 

于是只要删除非标准尺寸的图标,只保留1664的尺寸,即精简了图标的大小。从原来的152KB,到现在的才32KB了!

 

通过查看VS2010的属性窗口中得知,窗体左上角图标只需要一个32X32尺寸的图标即可。

 

于是只保留了32X32尺寸的图标,最后得到的另一个文件大小就才4KB了!

 

         最后,将软件的左上角图标,和EXE文件图标分别设置为4KB的图标文件,和32KB的图标文件,重新生成的文件大小为:

 

至此,得出IDE并没有帮我们精简图标的任务的结论。所以当想要精简程序文件大小的时候,不妨从精简相应图标的文件大小开始。

 

ByAsionTang

2011710 15:34:45

事后无意中研究了一番Windows自带的图标都包含了多少种大小格式,才发现在Win7下的系统图标中,仅仅包含168x2,328x4,488x6,2568x32)四种尺寸!当然,官方的还包括了三种色彩规格,256色,16色,32位色彩的,总共1个图标包含10套不同色彩的不同尺寸图标。看来2464的尺寸仅做支持,不做官方使用嘛,呵呵。于是精简的图标可以只剩下三种尺寸格式,体积就又减少了很多!

本来程序左上角图标应该只需要16x16尺寸的即可,但是后来发现在系统任务栏,和Alt + Tab切换的时候程序的图标是32x32的。所以,左上角图标可以有两个方案:

1、只放32尺寸的图标;

2、同时放1632尺寸的!

 

这里一直都未讨论图标色彩模式,都选择了最高的32位色彩,因为当今的电脑系统已经很少会用到16位色彩,或者更低的256色彩模式了吧,因此,既然不是官方的图标,那么就可以只需制作32位色彩(RGB)的恰当尺寸的图标即可!

当然,本文一切仅作个人参考。

添加:AsionTang

2011730 01:39:53

 

 

转载于:https://www.cnblogs.com/AsionTang/archive/2011/09/05/2168091.html

你可能感兴趣的文章
rabbitmq的整体架构一览
查看>>
奥运会志愿者需要做哪些工作?
查看>>
代码测试
查看>>
cocos2d-x自制工具03:AnimatePacker for Mac/Win32 v1.1 Build1发布!
查看>>
PyCUDA学习:gpuarray与kernel的抽象原型
查看>>
Python 正则表达式
查看>>
H3C瘦AP转胖AP
查看>>
PostgreSQL在函数内返回returning
查看>>
c语言:找出1到4000中,数字的各位数之和能被4整除的数有多少个?
查看>>
mysql分页与分页性能查询优化
查看>>
Linux下搭建一个简单的UDP通信
查看>>
基于VMware vSphere 5.0的服务器虚拟化实践(8)
查看>>
Tomcat高级部分-使用特定模块和软件反向代理请求到后端tomcat实现负载均衡和session保持...
查看>>
006.递归和分治思想
查看>>
FTP服务器端程序分类
查看>>
CSS布局之品字布局
查看>>
LINUX学习笔记高度浓缩版之一 :用户管理、启动过程、硬盘管理
查看>>
JavaScript创建对象的方法
查看>>
『ExtJS』01 009. ExtJS 4 方法重载
查看>>
Netty聊天之发送图片
查看>>