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生成头像的更多相关文章

  1. python实现随机生成头像

    今天遇到如何给用户分配随机头像的问题,想着要在本地放很多图片,有点无聊,就找了一些生成头像的工具.发现gravatar生成图像还不错,挺好玩的. 1.下面上代码 # -*- coding: utf-8 ...

  2. 教你用go freetype根据用户昵称生成头像

    最近需要为用户服务添加一些新功能,其中就包括在注册时根据用户昵称生成头像这一点. 由于用户服务是用golang写的,google来google去都只找到freetype一个比较简单好用的库,其他比如I ...

  3. 工具 - gravatar保存头像

    流程 注册账号,上传头像 https://secure.gravatar.com/avatar/ 就可以获取到头像 参数 例子flasky git reset --hard 10c def grava ...

  4. PS文字生成头像

    链接: 教你用PS把文字拼成肖像.... 28个文字组成的肖像画欣赏

  5. Orchard运用 - 为评论启用Gravatar头像

    在前一篇随笔中我曾分享如何为Orchard特定主题添加独立代码文件, 今儿延续如何把对应代码应用到Views上. 对此我不妨把为评论启用Gravatar头像这一例子来实现.其实很简单, 思路大概就是创 ...

  6. WordPress基础:Gravatar头像修正

    WordPress会根据你的邮箱,从Gravatar获取你的头像,如果没有在Gravatar设置头像,将使用默认的,然而设置了之后显示还可能会出现以下问题: Gravatar头像读取困难,将影响网站读 ...

  7. Quartz2D之生成圆形头像、打水印、截图三种方法的封装

    我给UIImage类添加了一个类目,用于封装三个方法,每个方法都没有难度,做这个主要为了练习一下封装: 首先在类目.h文件中声明三个方法:以及创建了一个枚举.用于水印方法中设定水印位置:方法说明和参数 ...

  8. 替换Gravatar头像默认服务器

    这几天Gravatar头像服务器应该集体被墙了,头像无法显示.兵来将挡,水来土掩,上有政策,下有对策,和谐社会靠大家,哈. 利用多说Gravatar头像中转服务器替代头像默认服务器. 将下面代码添加到 ...

  9. gravatar全球通用头像设定

    一:说明: gravatar的头像设定,可以用于wordpress,github等社区: 一次设定,全球同步显示: 目前gravatar已不支持注册,需要注册wordpress.com,然后登录: w ...

随机推荐

  1. Mockito 使用

    1. 算术测试类 package com.smart.test.mockito; public interface Calculator { public int add(int a, int b); ...

  2. 2019-10-24-dotnet-列表-Linq-的-Take-用法

    title author date CreateTime categories dotnet 列表 Linq 的 Take 用法 lindexi 2019-10-24 9:4:23 +0800 201 ...

  3. H3C 单区域OSPF配置示例二

  4. python基础十之装饰器

    1,装饰器的形成 编程原则:开放封闭原则. 开放:对扩展是开放的 封闭:对修改是封闭的 因为修改是封闭的,所以为了对函数进行功能的扩展,就使用装饰器! 2,装饰器的定义 # wrapper就是一个装饰 ...

  5. P1067 叠罗汉

    题目描述 茜茜和聪聪是关系很好的同桌,有一天,茜茜觉得天空中的白云像棉花糖一样,应该很好吃吧,但是够不着,她很烦恼. 聪聪为了帮助茜茜解决烦恼,决定帮他把天空中的白云摘下来做成棉花糖给她吃. 但是聪聪 ...

  6. P1055 连通块问题

    题目描述 给出一个n行m列的地图,'.'代表陆地,'W'代表水.现在需要你计算地图中有多少个水块.八个方向可以连通 比如:4*6的地图 ...WWW ...WW. WW.... .....W 中有3个 ...

  7. 2018-9-30-C#-传入-params-object-长度

    title author date CreateTime categories C# 传入 params object 长度 lindexi 2018-09-30 18:33:20 +0800 201 ...

  8. PowerShell 通过 WMI 获取系统安装软件

    本文告诉大家如何通过 WMI 获取系统安装的软件 通过 Win32_Product 可以获取系统安装的软件 Get-WmiObject Win32_Product | Format-List Capt ...

  9. 【23.91%】【hdu 4694】Important Sisters("支NMLGB配树"后记)(支配树代码详解)

    Time Limit: 7000/7000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission( ...

  10. 【15.93%】【codeforces 672D】Robin Hood

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...