ico是Icon file的缩写,是Windows的图标文件格式的一种。图标文件可以存储单个图案、多尺寸、多色板的图标文件。一个图标实际上是多张不同格式的图片的集合体,并且还包含了一定的透明区域。
一、选择图片
制作一张你自己觉得合适的图片(当然也可以去网上下载),这张图片就是将来你的网站ICO站标的雏形,图片的初始大小、格式没有要求。
二、制作图标
根据上面的图片制作ICO格式的站标图片,网络上有很多在线生成ICO站标的网站,我们通过百度直接搜索“ICO站标制作”,就可以找到了。将上面选定的图片导入“原始图像”,“目标尺寸”选择16*16,点击生成,简单搞定!
三、图标命名
将第二步中制作好的ICO文件命名为“favicon.ico”,一般情况下上述ICO制作网站生成的文件会自动帮助默认命名。
四、设置图标
将“favicon.ico”文件上传至站点FTP根目录(不推荐其他目录),然后在首页文件的<head></head>标签内加上一段ICO站标代码,代码案例如下:
<link rel="shortcut icon" href="http://www.explode.com/favicon.ico" />
五、代码
/**
* ico 图标生成
* @return \think\response\View
* @author 申霖
* @time 2019/7/28 0028 下午 8:39
*/
public function ico()
{
return view('tool/ico');
}
/**
* 创建图标
* @return \think\response\Json
* @author 申霖
* @time 2019/7/29 0029 下午 9:08
*/
public function icoCreate()
{
//接收参数
$createType = input('post.type');
$url = input('post.img');
if (!$url) {
return json(['code' => 100, 'msg' => '请上传图片']);
}
//判断文件是否存在
if (file_exists("." . $url) == false) {
return json(['code' => 101, 'msg' => '图片不存在']);
}
//图片信息
$imgInfo = explode('.', basename($url));
$imgName = $imgInfo[0];
//打开图片
$image = \think\Image::open('.' . $url);
//生成图片命名规则 md5 加密图片名称及类型
$createImgName = MD5(basename($imgName)) . "_" . $createType . '.ico';
$createImgSavePath = './api/' . $createImgName;
// 按照原图的比例生成缩略图并保存
$image->thumb($createType, $createType)->save($createImgSavePath);
if (file_exists($createImgSavePath)) {
return json(['code' => 200, 'msg' => '创建成功,正在下载···', 'data' => $createImgSavePath]);
} else {
return json(['code' => 104, 'msg' => '创建失败']);
}
}
/**
* 图片下载
* @return \think\response\Download
* @author 申霖
* @time 2019/7/29 0029 下午 8:50
*/
public function download()
{
$file = input('get.path');
if (!$file) {
abort(404);
}
return download($file, 'ink_favicon.ico')->expire(300);
}
html代码,请到https://www.shenlin.ink/open/tool/ico.html页面右键查看源代码拷贝。贴进来的代码没有缩进了,样式太丑了,