Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.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
Php 从.EXE中提取.PNG?_Php_Windows_Icons - Fatal编程技术网

Php 从.EXE中提取.PNG?

Php 从.EXE中提取.PNG?,php,windows,icons,Php,Windows,Icons,我一直在想如何从.exe窗口文件的图标中提取图像。 有没有一种简单的方法可以用GD实现 我认为这一步应该是: 从.exe中提取.ico 在.PNG中转换.ico 图标是一个图标。转换为PNG并不容易,因为: 一个.exe中可以有多个图标 一个图标内可以有多个图像,具有不同的大小和颜色深度 图像可以通过多种方式进行压缩 这些图像具有位掩码(使反转背景色等效果成为可能),在PNG中没有等效的位掩码 据我所知,GD不支持图标格式。Imagemagick似乎可以,也许你可以用它。否则,您可能需要编

我一直在想如何从.exe窗口文件的图标中提取图像。 有没有一种简单的方法可以用GD实现

我认为这一步应该是:

  • 从.exe中提取.ico
  • 在.PNG中转换.ico
图标是一个图标。转换为PNG并不容易,因为:

  • 一个.exe中可以有多个图标
  • 一个图标内可以有多个图像,具有不同的大小和颜色深度
  • 图像可以通过多种方式进行压缩
  • 这些图像具有位掩码(使反转背景色等效果成为可能),在PNG中没有等效的位掩码

据我所知,GD不支持图标格式。Imagemagick似乎可以,也许你可以用它。否则,您可能需要编写自己的图标提取器。

图标通常是非常小的图形,用于清晰地显示某些内容。这意味着它们通常包含JPEG不适合处理的图像类型。你几乎肯定想重新思考并使用PNG,当然不仅仅是一个概念。我所看到的最简单的方法是调用一个可以像ResHacker那样为你做这件事的程序,而不是试图找到一个可以为你做这件事的函数或pear库。然而,有趣的问题。也许这是可能的。。让我们等一下:)+1不知道为什么有人投了反对票!ImageMagick会很好地完成这项工作。@David:我没有,但可能是因为——尽管这个答案很好地解决了问题——它实际上并没有提供一个坚定的解决方案。@Tomalak投票给某人是卑鄙的,因为他们没有一直握着你的手,为你写代码!!大卫:我同意。正如我所说,我没有投反对票。这就是说,这不是一个用“JFGI!”填充的资源;它是收集编程知识的资源。最好的SO答案是彻底的、合理的,并通过代码示例提供全面的解决方案。我能理解为什么有人可能会投反对票,如果他们比你或我严格一点的话。谢谢你的回复。问题不在于从ico转换到png,真正的问题(imo)在早期:如何提取ico表单exe。。我认为imagemagick做不到