Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 为什么我的favicon.ico文件比其各部分的总和要大得多?_Image_Favicon_Ico_Image Optimization - Fatal编程技术网

Image 为什么我的favicon.ico文件比其各部分的总和要大得多?

Image 为什么我的favicon.ico文件比其各部分的总和要大得多?,image,favicon,ico,image-optimization,Image,Favicon,Ico,Image Optimization,我创建了一个favicon.ico文件,其中包含三种大小的.png图标大小:16px、32px和64px 在我的Mac Finder中,在使用ImageOptim对其进行优化后,它们的大小分别为339b、1kb和4kb。那么,让我们把大小凑到6kb 但是,当我运行此ImageMagick命令时: convert 16.png 32.png 64.png myfav.ico 生成的.ico文件为22kb 这是一个相当大的文件,出乎意料 我做错了什么?我能做些什么使它变小(如果有的话)?ico文件

我创建了一个favicon.ico文件,其中包含三种大小的.png图标大小:16px、32px和64px

在我的Mac Finder中,在使用ImageOptim对其进行优化后,它们的大小分别为339b、1kb和4kb。那么,让我们把大小凑到6kb

但是,当我运行此ImageMagick命令时:

convert 16.png 32.png 64.png myfav.ico
生成的.ico文件为22kb

这是一个相当大的文件,出乎意料


我做错了什么?我能做些什么使它变小(如果有的话)?

ico文件本身不是压缩文件

您可以gzip它,您将看到gzip大小将小于3个png文件大小的总和。ico文件在用于减小大小之前,最常用gzip(使用apache、nginx等)


所以,它们如此大的原因是因为压缩算法很弱。

谢谢你的回答,我想我是这么想的。ico只是一个保存文件的容器,我不认为它像一个完整的其他图像格式。。。我现在猜可能是这样的?通常,.ico中的图像作为未压缩的BMP图像保存。如果您从png转换,这些可能会以每像素32位的速度存储。当WindowsVista出现时,微软增加了对嵌入式PNG文件的支持,但这往往是对256x256图标的支持,以便旧的应用程序不会崩溃。