使用gravatar生成头像
avatar代表您在线的图像,当你与网站互动时,你的名字旁边会出现一张图片。
Gravatar是一个全球通用的头像。你只需上传一次并创建自己的个人资料,然后当你加入任何支持Gravatar的网站时,你的Gravatar图片会自动显示
使用方法
在gravatar网站上上传图片,生成自己的头像
填写个人资料,这样在登录支持gravatar的网站时,就会显示个人信息,当然也可以不填写
开发使用说明
gravatar依赖邮箱生成的哈希值作为图片地址的一部分,所以需要把邮箱地址哈希化
邮箱地址哈希化总共由三个步骤:
邮箱地址首尾去空白
所有字母转变成小写字母
哈希化
代码实现
const crypto = require('crypto');
function gravatar(mail) {
let size = 100
llet hash = Crypto.createHash('md5').update(mail.trim().toLowerCase()).digest("hex")
return `http://www.gravatar.com/avatar/${hash}?s=${size}&d=identicon`;
}
let url = gravatar('zxhyJack@126.com')
console.log(url)
上面的代码可以生成头像的地址,直接访问就可以看到图像
s 是指图片的大小,默认是 80px × 80 px,图片大小的范围是1-1024px
d = identicon 可以随机生成一个图片,以后再次登录的时候就不会改变了
默认头像
如果图片的url地址只是http://www.gravatar.com/avatar/${hash},不加参数,显示的头像分两种情况
一种是已经在gravatar网站上添加过对应邮箱的头像,访问这个url的时候则直接显示设置的图片
另一种是没有添加过邮箱的头像,访问这个url时会显示默认的图片G
如果没有给邮箱添加过头像,但是不想要默认的图片G,可以添加参数
d=identicon,则可以随机生成头像,但是生成之后就不会再变了
使用gravatar生成头像的更多相关文章
- python实现随机生成头像
今天遇到如何给用户分配随机头像的问题,想着要在本地放很多图片,有点无聊,就找了一些生成头像的工具.发现gravatar生成图像还不错,挺好玩的. 1.下面上代码 # -*- coding: utf-8 ...
- 教你用go freetype根据用户昵称生成头像
最近需要为用户服务添加一些新功能,其中就包括在注册时根据用户昵称生成头像这一点. 由于用户服务是用golang写的,google来google去都只找到freetype一个比较简单好用的库,其他比如I ...
- 工具 - gravatar保存头像
流程 注册账号,上传头像 https://secure.gravatar.com/avatar/ 就可以获取到头像 参数 例子flasky git reset --hard 10c def grava ...
- PS文字生成头像
链接: 教你用PS把文字拼成肖像.... 28个文字组成的肖像画欣赏
- Orchard运用 - 为评论启用Gravatar头像
在前一篇随笔中我曾分享如何为Orchard特定主题添加独立代码文件, 今儿延续如何把对应代码应用到Views上. 对此我不妨把为评论启用Gravatar头像这一例子来实现.其实很简单, 思路大概就是创 ...
- WordPress基础:Gravatar头像修正
WordPress会根据你的邮箱,从Gravatar获取你的头像,如果没有在Gravatar设置头像,将使用默认的,然而设置了之后显示还可能会出现以下问题: Gravatar头像读取困难,将影响网站读 ...
- Quartz2D之生成圆形头像、打水印、截图三种方法的封装
我给UIImage类添加了一个类目,用于封装三个方法,每个方法都没有难度,做这个主要为了练习一下封装: 首先在类目.h文件中声明三个方法:以及创建了一个枚举.用于水印方法中设定水印位置:方法说明和参数 ...
- 替换Gravatar头像默认服务器
这几天Gravatar头像服务器应该集体被墙了,头像无法显示.兵来将挡,水来土掩,上有政策,下有对策,和谐社会靠大家,哈. 利用多说Gravatar头像中转服务器替代头像默认服务器. 将下面代码添加到 ...
- gravatar全球通用头像设定
一:说明: gravatar的头像设定,可以用于wordpress,github等社区: 一次设定,全球同步显示: 目前gravatar已不支持注册,需要注册wordpress.com,然后登录: w ...
随机推荐
- Mockito 使用
1. 算术测试类 package com.smart.test.mockito; public interface Calculator { public int add(int a, int b); ...
- 2019-10-24-dotnet-列表-Linq-的-Take-用法
title author date CreateTime categories dotnet 列表 Linq 的 Take 用法 lindexi 2019-10-24 9:4:23 +0800 201 ...
- H3C 单区域OSPF配置示例二
- python基础十之装饰器
1,装饰器的形成 编程原则:开放封闭原则. 开放:对扩展是开放的 封闭:对修改是封闭的 因为修改是封闭的,所以为了对函数进行功能的扩展,就使用装饰器! 2,装饰器的定义 # wrapper就是一个装饰 ...
- P1067 叠罗汉
题目描述 茜茜和聪聪是关系很好的同桌,有一天,茜茜觉得天空中的白云像棉花糖一样,应该很好吃吧,但是够不着,她很烦恼. 聪聪为了帮助茜茜解决烦恼,决定帮他把天空中的白云摘下来做成棉花糖给她吃. 但是聪聪 ...
- P1055 连通块问题
题目描述 给出一个n行m列的地图,'.'代表陆地,'W'代表水.现在需要你计算地图中有多少个水块.八个方向可以连通 比如:4*6的地图 ...WWW ...WW. WW.... .....W 中有3个 ...
- 2018-9-30-C#-传入-params-object-长度
title author date CreateTime categories C# 传入 params object 长度 lindexi 2018-09-30 18:33:20 +0800 201 ...
- PowerShell 通过 WMI 获取系统安装软件
本文告诉大家如何通过 WMI 获取系统安装的软件 通过 Win32_Product 可以获取系统安装的软件 Get-WmiObject Win32_Product | Format-List Capt ...
- 【23.91%】【hdu 4694】Important Sisters("支NMLGB配树"后记)(支配树代码详解)
Time Limit: 7000/7000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission( ...
- 【15.93%】【codeforces 672D】Robin Hood
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...