Мне нужен PHP-скрипт для преобразования значков в PNG, сохраняя их исходные размеры.
Я знаю, что у Google есть секретный конвертер значков – http://www.google.com/s2/favicons?domain=http://facebook.com/, но это преобразует значки в 16×16, даже если они изначально были больше. Так что в основном мне это нужно, минус уменьшающийся эффект.
Я также видел это: http://www.controlstyle.com/articles/programming/text/php-favicon/, но я не мог заставить его работать после нескольких часов общения с ним.
В основном я пытаюсь автоматически захватить значок для ссылки, которая будет как можно больше – автоматически 48×48 png на основе URL-адреса будет идеальным сценарием, но я не знаю ни о каком человеческом возможном способе сделать это, учитывая, что нет веб-сайты, как правило, сохраняют значок 48×48 в общедоступном месте.
Кто-нибудь знает о сценарии / службе или имеет предложение? Благодаря!
Поэтому я закончил использование класса FloIcon, который мог бы преобразовать BMP в ICO. Я должен отметить, что всегда важно проверить тип файла значка и не предполагать, что .ico означает bmp, потому что некоторые сайты (например, Facebook) были фактически PNG).
@ goker.cebeci Ваше обслуживание выглядит потрясающе! Главное, что мне нужно, чтобы мои значки были максимальным размером, когда это было возможно, поэтому я просто написал свой собственный скрипт.
Вот функция для преобразования из bmp (ico) в png http://us3.php.net/manual/en/function.imagecreate.php#53879
<link rel="shortcut icon" href="ico_url_here" type="image/x-icon" />
и извлечь href $ image = imagecreatefrompng ($ filename);
$ resized_image = imagecreatetruecolor ($ NewWidth, $ NewHeight);
imagecopyresampled ($ resized_image, $ image, 0, 0, 0, 0, $ NewWidth, $ NewHeight, $ OriginalWidth, $ OriginalHeight);
4 Сохраните файл (imagepng или аналогичный)
Я использовал Imagemagick на своем значке для проекта веб-сервиса конвертера PNG .
convert "favicon.ico" -thumbnail 16x16 -alpha on -background none -flatten "favicon.png"
Некоторые значки веб-сайтов имеют сцену и их размеры больше 16×16 пикселей, например: http://blogger.com/favicon.ico
http://www.google.com/s2/favicons?domain=http://facebook.com/ не работает должным образом. Итак, для этого я разработал веб-сервис.
Если вы хотите попробовать мой веб-сервис, вы можете пойти по этому пути http://geticon.org/of/http://facebook.com/ или по этому адресу http://geticon.org/of/facebook.com
Код в http://www.controlstyle.com/articles/programming/text/php-favicon/ имеет небольшую ошибку:
Вам нужно изменить $entry['swBitCount']
на $entry['wBitCount']
. Когда я сделал это, изменив все права работы
imagecopyresized
– документы также содержат пример
Вышеизложенное требует компиляции с опцией --with-gd
Я предполагаю, что вы также не знали о расширении воображения
и т. д.: все возможные расширения / функции обработки изображений
Я использую здесь: http://plugins.trac.wordpress.org/browser/wp-favicons/trunk/plugins/filters/convert_to_png.php a lib отсюда: http://www.tom-reitz.com/2009/ 02/09 / Ico-изображения-в-facebook-профильными-боксы /
(Сначала я не хотел сначала сохранять ico на диск)
Единственная проблема с lib заключается в том, что иногда она прерывается на XOR, например, на этом значке: http://www.slatch.com/
Так что это то, что мне нужно исправить, но, кроме того, он отлично справился с тысячами значков.