ホームページ > php教程 > php手册 > favicon.ico または ico アイコンのソース コードをオンラインで生成する

favicon.ico または ico アイコンのソース コードをオンラインで生成する

WBOY
リリース: 2016-06-21 09:05:00
オリジナル
2150 人が閲覧しました

在线|favicon

php在线生成ico文件源代码.

favicon图标介绍

favicon.ico一般用于作为缩略的网站标志,它显示位于浏览器的地址栏或者在标签上,用于显示网站的logo,如图红圈的位置, 目前主要的浏览器都支持favicon.ico图标.


"; 
}
?> 
 
 
 
 
 
 
以下はindex.phpのソースコードです
​​
$output = "";
if(isset($_GET['action'])&&$_GET['action'] == ' make' ){
if(isset($_FILES['upimage']['tmp_name']) && $_FILES['upimage']['tmp_name'] && is_uploaded_file($_FILES['upimage']['tmp_name'] )) {

$fileext = array ("image/pjpeg","image/gif","image/x-png")
if(!in_array) ($_FILES['アップイメージ']['タイプ'], $fileext)){間違ってアップロードされたファイル形式は JPG、GIF、PNG のみをサポートします。
exit ();
}
} ($ iM = @imageCreateFrompng ($ _ files ['upimage'] [tmp_name ']atefromgif ($_FILES) ['upimage']['tmp_name']) または $im = @imagecreatefromjpeg($_FILES['upimage']['tmp_name'])){
$imginfo = @getimagesize($_FILES['upimage'] ['tmp_name ']);
if(!is_array($imginfo)){ {ケース 1; imagecreatetruecolor(16,16); $resize_im = @imagecreatetruecolor(32,32)
$size = 32;ケース 3 $resize_im = @ imagecreatetruecolor(48,48); $resize_im = @imagecreatetruecolor(32,32);$size = 32;

$icon = new phpthumb_ico();
$ icon_data = $icon->GD2ICOstring($g d_image_array) ;
$filename = "temp/".date ("Ymdhis"). ".ICO";
if (File_put_Contents ($ FILENAME, $ icon_data)) {
o o (= "生成成功!右クリックして

ICO アイコン オンライン変換 {background-color:#fff;color :#000000;font-family:arial;margin:30px;font-size:12px;}
table{border: 0}
td{line-height:16px;}
label{cursor:hand;}

ICOアイコンオンライン変換

< form action = "post" multipart/form>
input type="radio" name="size" value="3" id="s3">
TR & GT; & & LT; TR & GT; TD 整列 = "送信" & GT; if($output){
        echo "
".$output."
Powered by  
<

 

以下はphpthumb.ico.php源代:
/////////////////////////////// //////////////////////////////
/// phpThumb() by James Heinrich    //
// http://phpthumb.sourceforge.net /// で入手可能
////////////////////////////// ///////////////////////////////////////////phpthumb.ico.php - .ICO out置くフォーマット関数 //
// ///
/////////////////////////////// //// ///////////////////////
class phpthumb_ico {
function phpthumb_ico() {
return true;
}
関数gd2icosttring(&$ gd_image_array){
foreach($ gd_image_array as $ key =&gt; $ gd_image){
$ yimaswidths [$ key] = imagesx($ gd_image);
$ImageHeights[$key] = ImageSY($gd_image);
$bpp[$key] = ImageIsTrueColor($gd_image) ? 32 : 24;
$totalcolors[$key] = ImageColorsTotal($gd_image);
$icXOR[$key] = '';
for ($y = $ImageHeights[$key] - 1; $y >= 0; $y--) {
for ($x = 0; $x < $ImageWidths[$key]; $x++) {
$argb = $this->GetPixelColor($gd_image, $x, $y);
$a = round(255 * ((127 - $argb[’alpha’]) / 127));
$r = $argb['red'];
$g = $argb['green'];
$b = $argb['blue'];
if ($bpp[$key] == 32) {
$icXOR[$key] .= chr($b).chr($g).chr($r).chr($a);
} elseif ($bpp[$key] == 24) {
                        $icXOR[$key] .= chr($b).chr($g).chr($r);
}
if ($a < 128) {
@$icANDmask[$key][$y] .= ’1’;
} else {
@$icANDmask[$key][$y] .= ’0’; (マスク[$key][$y]) % 32) {
$icANDmask[$key][$y] .= ' 0';
}
}
$icAND[$key] = '';
foreach ($icANDmask[$key] as $y => $scanlinemaskbits) {
for ($i = 0; $i < strlen($scanlinemaskbits); $i += 8) { $icAND[$key ] .= chr(bindec(str_pad(substr($scanlinemaskbits, $i, 8), 8, '0', STR_PAD_LEFT));
}
}
foreach ($gd_image_array as $key => $gd_image) {
$biSizeImage = $ImageWidths[$key] * $ImageHeights[$key] * ($bpp[$key] / 8);
// BITMAPINFOHEADER - 40 バイト
$BitmapInfoHeader[$key] = '';
$BitmapInfoHeader[$key] .= "x28x00x00x00";                              // DWORD biSize;
$BitmapInfoHeader[$key] .= $this->LittleEndian2String($ImageWidths[$key], 4);      // LONG biWidth;
// biHeight メンバーは、 XOR マスクと AND マスクの組み合わせた
// 高さを指定します。
$BitmapInfoHeader[$key] .= $this->LittleEndian2String($ImageHeights[$key] * 2, 4); // LONG biHeight;
            $BitmapInfoHeader[$key] .= "x01x00";                                      // WORD biPlanes;
$BitmapInfoHeader[$key] .= chr($bpp[$key])."x00";                          // wBitCount;
$BitmapInfoHeader[$key] .= "x00x00x00x00";                              // DWORD biCompression;
$BitmapInfoHeader[$key] .= $this->LittleEndian2String($biSizeImage, 4);            // DWORD biSizeImage;
$BitmapInfoHeader[$key] .= "x00x00x00x00";                              // LONG biXPelsPerMeter;
$BitmapInfoHeader[$key] .= "x00x00x00x00";                              // LONG biYPelsPerMeter;
$BitmapInfoHeader[$key] .= "x00x00x00x00";                              // DWORD biClrused;
$BitmapInfoHeader[$key] .= "x00x00x00x00";                              // DWORD biClr重要;
}
$icondata = "x00x00";                                      // idReserved;   // 予約済み (0 である必要があります)
$icondata .= "x01x00";                                      // idType;       // リソース タイプ (アイコンの場合は 1)
$icondata .= $this->LittleEndian2String(count($gd_image_array), 2);  // idCount;      // 画像は何枚ありますか?
$dwImageOffset = 6 + (count($gd_image_array) * 16);
foreach ($gd_image_array as $key => $gd_image) {
// ICONDINTRY idEntries[1]; // 各画像のエントリ(画像の idCount)
$icondata .= chr($ImageWidths[$key]);                     // b幅;          // 画像の幅 (ピクセル単位)
            $icondata .= chr($ImageHeights[$key]);                    // b高さ;         // 画像の高さ(ピクセル単位)
$icondata .= chr($totalcolors[$key]);                     // bColorCount;     // 画像内の色の数 (0 if >=8bpp)
$icondata .= "x00";                                      // b予約済み;       // 予約済み (0 である必要があります)
$icondata .= "x01x00";                                  // wPlanes;         // カラー プレーン
$icondata .= chr($bpp[$key])."x00";                      // wBitCount;       // ピクセルあたりのビット数
$dwBytesInRes = 40 + strlen($icXOR[$key]) + strlen($icAND[$key]);
$icondata .= $this->LittleEndian2String($dwBytesInRes, 4);       // dwBytesInRes;    // この リソースには 何バイト ありますか?
$icondata .= $this->LittleEndian2String($dwImageOffset, 4);      // dwImageOffset;   // この画像はファイル内のどこにありますか?
$dwImageOffset += strlen($BitmapInfoHeader[$key]);
$dwImageOffset += strlen($icXOR[$key]);
$dwImageOffset += strlen($icAND[$key]);
}
foreach ($gd_image_array as $key => $gd_image) {
$icondata .= $BitmapInfoHeader[$key];
$icondata .= $icXOR[$key];
$icondata .= $icAND[$key];
}
$icondata を返す;
}
関数 LittleEndian2String($number, $minbytes=1) {
$intstring = '';
while ($number > 0) {
$intstring = $intstring.chr($number & 255);
$number >>= 8;
}
return str_pad($intstring, $minbytes, "x00", STR_PAD_RIGHT);
}
関数 GetPixelColor(&$img, $x, $y) {
        if (!is_resource($img)) {
return false;
}
return @ImageColorsForIndex($img, @ImageColorAt($img, $x, $y));
}
}
?>



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート