ICO图标生成实例代码-PHP语言
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页面右键查看源代码拷贝。贴进来的代码没有缩进了,样式太丑了,