我正在做一些工作,我以编程方式从OpenSearch文档中指定的站点下载图标,如果它是ICO格式,我需要提取第一个图像(现在).我能够毫无问题地读取ICO文件头并切出第一个图像文件.但是,在阅读了解释我发现的文件格式的维基百科条目后,如果图像是位图格式,那么该文件是不完整的(它缺少标题).所以我需要在将数据保存到文件之前重新构建此标头,但是我遇到了一些困难.
根据BMP文件格式的Wikipedia条目,标头长度为14个字节,应包含以下内容:
Offset Data0x0000"BM", for our intents and purposes0x0002Size of the bitmap file in bytes0x0006Dependant on the application creating the file0x0008Dependant on the application creating the file0x000AOffset 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。
谁有这样的图标或者可以生成这样的软件吗?