ICO图标生成实例代码-PHP语言

发布时间:2019-07-29 21:11:20 浏览量:1911 标签: ico 图标

ico是Icon file的缩写,是Windows的图标文件格式的一种。图标文件可以存储单个图案、多尺寸、多色板的图标文件。一个图标实际上是多张不同格式的图片的集合体,并且还包含了一定的透明区域。


ICO图标示例


一、选择图片

制作一张你自己觉得合适的图片(当然也可以去网上下载),这张图片就是将来你的网站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页面右键查看源代码拷贝。贴进来的代码没有缩进了,样式太丑了,


评论
登录后才可以进行评论哦! QQ登录
验证码
评论内容