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


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

     

     

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

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

     

    默认解决方案

    更换图标后

    程序的左上角图标

    image

    image

     

    image

    EXE文件的图标

    image

     

    image

    EXE文件大小

    image

    image

    image

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

     

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

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

     

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

     

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

     

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

     

    image

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

     

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

     

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

     

    ByAsionTang
    2011
    710 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
    2011
    730 01:39:53

     

    作者:Asion Tang
    凡是没有注明[转载]的文章,本Blog发表的文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    dgango
    django
    pymysql 增删改 查 索引
    mysql 单表,多表,符合条件,子查询
    mysql 数据的增删改
    mysql foreignkey
    mysql基础知识之数据类型与约束
    MySol序
    MySql
    Python Selenium 常用方法总结
  • 原文地址:https://www.cnblogs.com/AsionTang/p/2168091.html
Copyright © 2020-2023  润新知