Gravatar:有默认图片吗?

时间:2010-04-21 14:28:45

标签: image default gravatar

我已经为我正在构建的门户网站实现了gravatar,并想知道是否有gravatar的默认图片网址?并非所有访问该网站的人都已登录或拥有电子邮件地址,在这种情况下,是否有可以显示的默认图像(可通过gravatar url访问)

5 个答案:

答案 0 :(得分:45)

要选择默认图像,您可以使用d参数:

http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802?d=identicon

或者没有哈希:

http://www.gravatar.com/avatar/?d=identicon

或没有d参数:

http://www.gravatar.com/avatar

来源:gravatar.com

答案 1 :(得分:16)

Gravatar在此处描述了默认图片的选项:http://en.gravatar.com/site/implement/images/

您可以通过向网址添加适当的名称/值对来选择所需的选项。例如,我使用“神秘人”(d = mm),如下所示:

上面的图片是使用网址http://www.gravatar.com/avatar/?d=mm创建的。请注意,电子邮件哈希字符串已被省略,但通常您将其作为请求的一部分包含在内。

上述链接中列出的选项:

  
      
  • 404:如果没有与电子邮件哈希相关联,则不加载任何图像,而是返回HTTP 404(找不到文件)响应
  •   
  • mm :(神秘人)一个简单的卡通式剪影轮廓(不会因电子邮件哈希而异)
  •   
  • identicon:基于电子邮件哈希的几何图案
  •   
  • monsterid:一个生成的'怪物',有不同的颜色,面孔等
  •   
  • wavatar:生成具有不同功能和背景的面孔
  •   
  • 复古:真棒生成,8位街机风格的像素化面孔
  •   
  • 空白:透明的PNG图像(为了演示目的,将边框添加到HTML中)
  •   

正如您所希望的那样,使用尺寸选项s=<pixels>也会改变默认图像的大小。

enter image description here

上面的图片是使用http://www.gravatar.com/avatar/?d=retro&s=32

创建的

答案 2 :(得分:3)

不是,不。这就错过了Gravatar服务的重点。它的设计使您的用户可以注册他们的电子邮件地址并将重力图像与其关联。然后,您的站点(和其他站点)可以查询“Gravatar”以返回与相关电子邮件地址关联的图像。

如果您想要为您的网站上甚至没有输入电子邮件地址的用户显示图片,您可以看到两种解决方案:

  1. 在您自己的代码中执行此操作。当您与没有电子邮件地址的用户打交道时,您只需输出您自己选择的默认图像即可。当然,这意味着它不会使用重力地址来完成,而且它将是你需要自己服务的东西。
  2. 自行注册一个电子邮件地址,专门针对没有/自己输入的用户。例如,您可以注册类似default-gravatar@myapp.example.com的内容,然后将其注册到Gravatar服务,并将您选择的默认图像与此关联。在构建图片网址时,您自己的应用代码仍然需要输出相应的重力网址代替此电子邮件地址代替用户不存在的网址,但它允许您使用您要求的gravatar网址。

答案 3 :(得分:3)

您还可以使用默认/后备头像的自定义网址。但是,自定义网址必须指向公开的图片,否则它不会显示。您可以learn more heregravatar.com

这是我在处理gravatar图像时使用的PHP函数。

function myprefix_get_gravatar_url( $email, $default='mm', $size=92 )
{
    $email = md5( strtolower( trim( $email ) ) );
    $default = urlencode( $default );
    $size = (int)$size;

    $url = 'http://www.gravatar.com/avatar/';
    if ( is_ssl() )
        $url = 'https://secure.gravatar.com/avatar/';

    return $url.$email."?d=".$default."&s=".$size;
}

使用示例:

$img2x = myprefix_get_gravatar_url( 
    'spacepants@goofygoof.it',
    'https://www.google.com/images/srpr/logo11w.png',
    184
);

答案 4 :(得分:0)

对于那些只想要指向给定电子邮件图像的链接的人(这不能解决OP的请求,但此页面在网络搜索中很突出):几乎任何POSIX shell都可以生成&#34; somebody@example.com" 256像素的gravatar网址;用:

echo "http://gravatar.com/avatar/$(echo -n somebody@example.com | md5sum | awk '{print $1}')?s=256"

您确实需要考虑将somebody@example.com替换为相关电子邮件。我包括&#34;?s = 256&#34;以显示如何指定大小。

我需要这个来向某人说明一个万能的形象。