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

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

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

默认解决方案

更换图标后

程序的左上角图标

EXE文件的图标

EXE文件大小

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

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

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

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

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

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

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

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

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

ByAsionTang
2011
710 15:34:45

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

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

1、只放32尺寸的图标;

2、同时放16和32尺寸的!

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

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

添加:AsionTang
2011
730 01:39:53

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

精简ICO图标可减小EXE程序文件大小相关推荐

  1. php添加网站ico图标,常用php开源程序网站怎么修改网站ICO图标的方法

    最近有一个客户要求修改网站首页的ICO图标,他用的是Discuz!x的程序做的网站,结合之前也有客户要求说怎么修改网站的默认ICO为自己的个性ICO图标以及无忧主机小编之前撰写的网站ico图标的修改方 ...

  2. 设置.exe程序图标(ico文件)

    设置.exe程序图标(ico文件)  将需要设置的图片放置到源码目录 新建一个.rc文件  新建文件–>C++–>source文件–>命名为XX.rc(不能掉了rc后缀) 打开rc文 ...

  3. python输入输出拓展: 制作简单的exe程序(温度转换器)

    制作简单的exe程序 为了防止代码被盗,需要对代码进行打包.这里,就需要制作exe程序. 准备工作: 1. 安装第三方模块 pyinstaller 2. . 阿里巴巴矢量图标库(www.iconfon ...

  4. PyInstaller来将python程序打包成exe程序及其图标自定义以及ico文件的简单制作

    pip install Pyinstaller 当然首先要安装pyinstaller这个包然后才能使用啦 这是一个自动玩别踩白块的python程序的简单实现 *** https://u.ali213. ...

  5. Free Icon Tool(icon图标提取器)绿色便携版V2.1.5 | 应用图标提取器下载 | 快速提取exe中的ico图标

    Free Icon Tool 是一款短小精悍且非常实用的应用图标提取器软件,能帮助大家非常方便的提取dll.ocx.cpl.cil.exe中的ico图标文件,所以也叫icon图标提取器,Free Ic ...

  6. golang EXE程序添加图标和详细信息(版本号,版权,公司信息等)

    golang EXE程序添加图标和详细信息(版本号,版权,公司信息等) 为什么要添加图标和详细信息 作为桌面程序,有一个图标,显得更正式一些.详细信息有版本号方便做版本识别.算了,编不下去了.不管那么 ...

  7. python3_将多个.py文件打包成exe程序并添加图标

    前言  我们开发的脚本一般都会用到第三方包,当别人需要用到我们脚本的时候,如果我们直接把xxx.py文件发给她,她是没有办法直接使用的,她还需要安装python解释器和安装我们使用的第三方包,这个时候 ...

  8. QT窗口图标和生成exe应用程序图标设置

    QT窗口图标设置 1.图片或图标最好放在同一个文件夹中,好管理 2.新建一个qrc文件,文件名自己宣称命名,这里命名为ImageOrIco,代码具体写法见下面 <RCC> <qres ...

  9. 如何在计算机桌面建立一个软件的快捷图,VB编程:生成EXE图标 (为exe程序在电脑桌面上创建一个快捷图标)...

    在实际的VB编程工作中,常常要为自己的程序在桌面生成一个快捷图标. 用VB在桌面生成图标我提供两种方式,这两种方法都还很简单. 第一种方法,利用vb5stkit.dll来生成桌面图标: 1.利用现成的 ...

最新文章

  1. easyui combotree的使用
  2. OAF_开发系列17_实现OAF数组应用Vector / Hashmap / Hashtable / Arraylist(案例)
  3. 什么叫Web前端?web前端HTML5学习方法分享
  4. c++动态内存的几个简单例子
  5. 圆桌的项目Alpha冲刺(团队)
  6. ubuntu开启SSH服务和允许root远程SSH登录
  7. vue实现数字“滚动式增加”效果 【插件化封装】
  8. mysqlreport
  9. 开源备份web_13个开源备份解决方案
  10. C#:适配器设计模式如何让您的生活更轻松
  11. java视频切片_使用ffmpeg视频切片并加密和视频AES-128加密后播放
  12. 随想录(hls加速技术)
  13. Kotlin入门(2)让App开发变得更容易
  14. WebStorm汉化教程
  15. python微信语音转发方法_微信语音转发最方便的方法,我现在才知道
  16. java使用qq群发邮件_java群发发送qq邮件
  17. 《类》《this指针》《构造函数》《析构函数》《拷贝构造函数》《赋值运算符重载》
  18. Spring Cloud的基本认识和使用Spring Cloud的基本教程(山东数漫江湖)
  19. Python Boss
  20. android 图片手动放大,Android图片的手动放大缩小

热门文章

  1. github private链接访问_Hands-On Design Patterns With C++(十八)访问者模式与多分派(下)...
  2. python的类和对象例题_Python类、类对象和实例对象、组合、绑定详细讲解
  3. 三维计算机视觉(六)--3DSC(3D形状上下文特征)
  4. “21天好习惯“第一期-5
  5. 【Java程序设计】JDBC与数据库访问
  6. Linux_快速查找文件
  7. Hbase单机安装及使用hbase shell进行简单操作
  8. Mac Pro 安装 Sublime Text 3,个性化设置,主题 和 插件 收藏
  9. 在PPT设计中如何制作有效的图表?
  10. JS原型继承工作原理