精简ICO图标可减小EXE程序文件大小
精简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并没有帮我们精简图标的任务的结论。所以当想要精简程序文件大小的时候,不妨从精简相应图标的文件大小开始。
By:AsionTang
2011年7月10日 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年7月30日 01:39:53
转载于:https://www.cnblogs.com/AsionTang/archive/2011/09/05/2168091.html
精简ICO图标可减小EXE程序文件大小相关推荐
- php添加网站ico图标,常用php开源程序网站怎么修改网站ICO图标的方法
最近有一个客户要求修改网站首页的ICO图标,他用的是Discuz!x的程序做的网站,结合之前也有客户要求说怎么修改网站的默认ICO为自己的个性ICO图标以及无忧主机小编之前撰写的网站ico图标的修改方 ...
- 设置.exe程序图标(ico文件)
设置.exe程序图标(ico文件) 将需要设置的图片放置到源码目录 新建一个.rc文件 新建文件–>C++–>source文件–>命名为XX.rc(不能掉了rc后缀) 打开rc文 ...
- python输入输出拓展: 制作简单的exe程序(温度转换器)
制作简单的exe程序 为了防止代码被盗,需要对代码进行打包.这里,就需要制作exe程序. 准备工作: 1. 安装第三方模块 pyinstaller 2. . 阿里巴巴矢量图标库(www.iconfon ...
- PyInstaller来将python程序打包成exe程序及其图标自定义以及ico文件的简单制作
pip install Pyinstaller 当然首先要安装pyinstaller这个包然后才能使用啦 这是一个自动玩别踩白块的python程序的简单实现 *** https://u.ali213. ...
- Free Icon Tool(icon图标提取器)绿色便携版V2.1.5 | 应用图标提取器下载 | 快速提取exe中的ico图标
Free Icon Tool 是一款短小精悍且非常实用的应用图标提取器软件,能帮助大家非常方便的提取dll.ocx.cpl.cil.exe中的ico图标文件,所以也叫icon图标提取器,Free Ic ...
- golang EXE程序添加图标和详细信息(版本号,版权,公司信息等)
golang EXE程序添加图标和详细信息(版本号,版权,公司信息等) 为什么要添加图标和详细信息 作为桌面程序,有一个图标,显得更正式一些.详细信息有版本号方便做版本识别.算了,编不下去了.不管那么 ...
- python3_将多个.py文件打包成exe程序并添加图标
前言 我们开发的脚本一般都会用到第三方包,当别人需要用到我们脚本的时候,如果我们直接把xxx.py文件发给她,她是没有办法直接使用的,她还需要安装python解释器和安装我们使用的第三方包,这个时候 ...
- QT窗口图标和生成exe应用程序图标设置
QT窗口图标设置 1.图片或图标最好放在同一个文件夹中,好管理 2.新建一个qrc文件,文件名自己宣称命名,这里命名为ImageOrIco,代码具体写法见下面 <RCC> <qres ...
- 如何在计算机桌面建立一个软件的快捷图,VB编程:生成EXE图标 (为exe程序在电脑桌面上创建一个快捷图标)...
在实际的VB编程工作中,常常要为自己的程序在桌面生成一个快捷图标. 用VB在桌面生成图标我提供两种方式,这两种方法都还很简单. 第一种方法,利用vb5stkit.dll来生成桌面图标: 1.利用现成的 ...
最新文章
- easyui combotree的使用
- OAF_开发系列17_实现OAF数组应用Vector / Hashmap / Hashtable / Arraylist(案例)
- 什么叫Web前端?web前端HTML5学习方法分享
- c++动态内存的几个简单例子
- 圆桌的项目Alpha冲刺(团队)
- ubuntu开启SSH服务和允许root远程SSH登录
- vue实现数字“滚动式增加”效果 【插件化封装】
- mysqlreport
- 开源备份web_13个开源备份解决方案
- C#:适配器设计模式如何让您的生活更轻松
- java视频切片_使用ffmpeg视频切片并加密和视频AES-128加密后播放
- 随想录(hls加速技术)
- Kotlin入门(2)让App开发变得更容易
- WebStorm汉化教程
- python微信语音转发方法_微信语音转发最方便的方法,我现在才知道
- java使用qq群发邮件_java群发发送qq邮件
- 《类》《this指针》《构造函数》《析构函数》《拷贝构造函数》《赋值运算符重载》
- Spring Cloud的基本认识和使用Spring Cloud的基本教程(山东数漫江湖)
- Python Boss
- android 图片手动放大,Android图片的手动放大缩小
热门文章
- github private链接访问_Hands-On Design Patterns With C++(十八)访问者模式与多分派(下)...
- python的类和对象例题_Python类、类对象和实例对象、组合、绑定详细讲解
- 三维计算机视觉(六)--3DSC(3D形状上下文特征)
- “21天好习惯“第一期-5
- 【Java程序设计】JDBC与数据库访问
- Linux_快速查找文件
- Hbase单机安装及使用hbase shell进行简单操作
- Mac Pro 安装 Sublime Text 3,个性化设置,主题 和 插件 收藏
- 在PPT设计中如何制作有效的图表?
- JS原型继承工作原理