Favicon to PNG in PHP

自作多情 提交于 2019-12-04 05:13:40

So I ended up using a class called FloIcon that could convert BMPs to ICO. I should note that it's always important to check the file type of an icon and not assume that .ico means bmp because some sites (like Facebook) were actually PNG).

@goker.cebeci Your service looks awesome! The main thing is that I needed my icons to be the maximum size when possible, so I just wrote my own script.

Here is a function to convert from bmp(ico) to png http://us3.php.net/manual/en/function.imagecreate.php#53879

  1. Download the ico to your server (file_get_contents or other methods) usually is favicon.ico at the base url, or scrape the html code for the <link rel="shortcut icon" href="ico_url_here" type="image/x-icon" /> element and extract the href
  2. use the function from the link above to convert to the png
  3. use the GD functions to open and resize

$image = imagecreatefrompng($filename);
$resized_image = imagecreatetruecolor($NewWidth, $NewHeight);
imagecopyresampled($resized_image, $image, 0, 0, 0, 0, $NewWidth, $NewHeight, $OriginalWidth, $OriginalHeight);

4 Save the file (imagepng or similar)

I used Imagemagick on my favicon to PNG convertor web service project.

convert "favicon.ico" -thumbnail 16x16 -alpha on -background none -flatten "favicon.png"

Some websites' favicons have scene and their sizes are bigger than 16x16 pixels eg: http://blogger.com/favicon.ico

http://www.google.com/s2/favicons?domain=http://facebook.com/ does not work properly. So, I developed a web service for this.

If you want to try my web service you can go this way http://geticon.org/of/http://facebook.com/ or this way http://geticon.org/of/facebook.com

Code at http://www.controlstyle.com/articles/programming/text/php-favicon/ has small error:

You need to change $entry['swBitCount'] to $entry['wBitCount']. When I have made that changing all work right

imagecopyresized - the docs contains the example as well

The above require compiled with option --with-gd

I assume you did not aware of imagick extension as well

etc: all possible image processing extensions/functions

Im using here: http://plugins.trac.wordpress.org/browser/wp-favicons/trunk/plugins/filters/convert_to_png.php a lib from here: http://www.tom-reitz.com/2009/02/09/ico-images-in-facebook-profile-boxes/

(I did not want to save the ico's to disk first)

The only problem with the lib is that it sometimes fails on the XOR e.g. on this favicon: http://www.slatch.com/

So that is something I need to fix in it but furthermore it worked great for thousands of icons.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!