Конвертировать PNG-файл в ICO с PHP - PullRequest
8 голосов
/ 13 апреля 2010

Я хотел бы создать скрипт PHP, который конвертирует png-файл в ico-файл. Возможно ли сделать это только с помощью PHP? Как?

Спасибо !!!

Ответы [ 6 ]

6 голосов
/ 16 января 2013

Недавно загруженный https://github.com/chrisbliss18/php-ico создает допустимые файлы ICO, включая несколько встроенных разрешений из файлов PNG и других форматов файлов, используя только PHP и библиотеку GD.

4 голосов
/ 13 апреля 2010

После некоторых экспериментов с поиском и поиском в Интернете кажется, что файл .ico в основном представляет собой BMP с другим расширением. Я полагаю, что формат ICO поддерживает больше разрешений в одном файле, но BMP, кажется, составляет минимальный файл ICO. Вы сможете легко создавать файлы BMP с помощью gd или ImageMagick.

1 голос
/ 13 апреля 2010

Это , кажется, предлагает Имагик может сделать это.

В противном случае вы можете выполнить преобразование на сервере с помощью внешнего инструмента и сервера .ico-файл. Инструменты для достижения этой цели были проанализированы в Stack Overflow до (хорошо, мы выполняем обратное преобразование, но я уверен, что большая часть этого программного обеспечения может делать то, что вам нужно).

0 голосов
/ 21 марта 2011

Для моего плагина WP: http://wordpress.org/extend/plugins/wp-favicons/ Я использую этот ico lib: http://www.tom -reitz.com / 2009/02/17 / php-ico-to-png-преобразование / комментарий- page-1 / # comment-14883 вот код: http://plugins.trac.wordpress.org/browser/wp-favicons/trunk/plugins/filters/convert_to_png.php

Он работает почти со всеми значками, но некоторые из них похожи на значок, найденный здесь: http://www.slatch.com/ Дайте мне: Примечание: смещение неинициализированной строки: 64 и т. Д. ... в строке 296.

Итак ... если вы нашли лучшую .ico php lib, чем я, можно заменить ее на другую:)

0 голосов
/ 13 апреля 2010

Я бы попробовал floIcon: http://tech.flobi.com/test/floIcon/

0 голосов
/ 13 апреля 2010

Нет простого способа сделать это напрямую, хотя php встроен в библиотеки. Чтобы написать файл ico, вам нужно будет вручную написать отдельные биты и байты в соответствии с форматом файла. Самый простой способ - использовать стороннюю библиотеку.

phpthumb - хороший инструмент для этого.

http://phpthumb.sourceforge.net/

...