我正在做一些工作,我以编程方式从OpenSearch文档中指定的站点下载图标,如果它是ICO格式,我需要提取第一个图像(现在).我能够毫无问题地读取ICO文件头并切出第一个图像文件.但是,在阅读了解释我发现的文件格式的维基百科条目后,如果图像是位图格式,那么该文件是不完整的(它缺少标题).所以我需要在将数据保存到文件之前重新构建此标头,但是我遇到了一些困难.
根据BMP文件格式的Wikipedia条目,标头长度为14个字节,应包含以下内容:
Offset Data0x0000
"BM", for our intents and purposes0x0002
Size of the bitmap file in bytes0x0006
Dependant on the application creating the file0x0008
Dependant on the application creating the file0x000A
Offset of the image data/pixel array
我认为位图文件的大小(以字节为单位)将是提取图像的大小+标题的14个字节,但我不确定要写入0x0006,0x0008以及如何获取像素阵列的位置写入0x000A.
我已经读过几次这篇文章了,但我必须承认我的脑袋有点疼.这是我第一次做这种事情的经历.任何人都可以帮我解决如何获取像素阵列的位置吗?
我创建了一个favicon.ico文件,其中包含三种尺寸的.png图标大小,16px,32px和64px.
在我的Mac Finder中,我使用ImageOptim优化它们后,它们的大小分别为339b,1kb和4kb.那么我们可能会达到6kb?
但是,当我运行此ImageMagick命令时:
convert 16.png 32.png 64.png myfav.ico
Run Code Online (Sandbox Code Playgroud)
生成的.ico文件是22kb!
这是一个非常大的文件,出乎意料.
我做错了什么?我能做些什么来缩小它(如果有的话)?
您好,我在我的网站上设置了一个收藏夹图标,当我尝试在桌面上为该网站创建快捷方式时,它会在快捷方式上创建一个图标,如下所示:
但我需要它看起来像这样:
任何人都可以建议可能发生的情况以及纠正此问题所需的措施。
以下是我定义“收藏夹”图标的方式。
<link rel="shortcut icon" href="http://elliotrees.co.uk/favicon.ico" />
Run Code Online (Sandbox Code Playgroud) 我想测试 *.ico 图像是否是 PHP 中的有效图标。我尝试使用 getimagesize 函数,但它不支持 ICO 文件。
Windows 从 Vista 开始支持 PNG 格式的图标。据说您的格式与 .ico 文件相同,但图像本身是 PNG,没有 BITMAPINFOHEADER。
谁有这样的图标或者可以生成这样的软件吗?