Я хотел бы создать PHP-скрипт, который преобразует png-файл в файл ico. Можно ли это сделать только с PHP? Как ?
Благодаря !!!
После некоторых экспериментов по поиску в Google и свете, похоже, что .ico-файл – это в основном BMP с другим расширением файла. Я считаю, что формат ICO поддерживает больше разрешений в одном файле, но BMP, по-видимому, представляет собой минимальный ICO-файл. Вы можете легко создавать BMP-файлы с помощью gd или ImageMagick.
Недавно загруженный https://github.com/chrisbliss18/php-ico создает допустимые ICO-файлы, включая несколько встроенных разрешений из PNG-файлов и других форматов файлов, используя только PHP и GD-библиотеку.
Похоже, что Imagick может это сделать.
В противном случае вы можете сделать преобразование на сервере с помощью внешнего инструмента и сервера .ico-файла. Инструменты для этого были проанализированы в Stack Overflow раньше (ну, делая противоположное преобразование, но я уверен, что большинство из этого программного обеспечения могут делать то, что вам нужно).
Нет простого способа сделать это напрямую, хотя php встроен в библиотеки. Чтобы написать файл ico, вам нужно будет записать отдельные биты и байты вручную в соответствии с форматом файла. Самый простой способ – использовать стороннюю библиотеку.
phpthumb – хороший инструмент для этого.
Я бы попросил floIcon: http://tech.flobi.com/test/floIcon/
Для моего WP плагина: http://wordpress.org/extend/plugins/wp-favicons/ Я использую этот ico lib: http://www.tom-reitz.com/2009/02/17/php-ico- to-png-conversion / comment-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, чем я могу заменить ее на другую 🙂