全球通用頭像Gravatar的介紹

來源:互聯網
上載者:User
1、Gravatar是什嗎?

Gravatar是 www.gravatar.com 推出的一項服務,意為“全球通用頭像”。如果在gravatar上註冊了帳號並在gravatar伺服器上放置了頭像,那麼當在支援gravatar的blog上發言時,只要提供email地址,就能夠顯示與email相關聯的頭像。這樣就為大家提供了一個統一管理多個頭像的平台,只要網站支援gravatar,就不必特意為每個網站單獨上傳頭像,省去了麻煩。

2、作為普通使用者,如何使用Gravatar?

首先到gravatar上註冊帳號,只要填寫一個常用的email地址,填寫好密碼,然後到郵箱裡確認,就註冊好了一個gravatar帳號。隨後用帳號登陸gravatar,就可以開始為帳號添加頭像了,每個email可以和一個頭像關聯,上傳頭像的方式有很多種。

上傳處理完頭像偶需要為頭像選擇等級,不同的等級會決定你的頭像是否在網站中顯示,假如你的頭像過於限制級,則在不支援此等級的網站中不會顯示,而只會顯示一個預設頭像。

  • G: 適合在所有網站的所有受眾類型。

  • PG: 可能包含粗魯手勢,挑逗性的著裝,少許粗話,及輕微暴力等內容。

  • R: 可能包含褻瀆,極度暴力,裸體或吸毒等內容。

  • X: 可能包含赤裸的性愛或極端暴力內容。

添加完畢後還需要等待審核,一般選擇了G,而你的圖片沒什麼特別的,很快就通過。遇上慢的情況也就10分鐘左右。

3、作為開發這,如何使用Gravatar?

Gravatar不但為普通使用者提供了頭像解決方案,還為開發人員們提供了一些介面,方便開發人員調用gravatar頭像以及在使用者gravatar頭像中包含的簡單Profile。在Gravatar首頁中可以找到開發人員文檔的入口,裡面有關於如何使用gravatar介面的文檔。Gravatar上所有URL都是基於電子郵箱地址的雜湊值。映像和個人檔都是通過電子郵件的雜湊值訪問擷取的,這是系統識別使用者身份的主要方式。為確保雜湊值的一致性和準確性,在產生雜湊值時應遵循下列步驟:

  1. 去除掉電子郵箱地址頭尾的空格符。

  2. 先將所有字母強行轉換成小寫字母。

  3. 使用md5演算法計算處理後的電子郵箱雜湊值。

比如,以”MyEmailAddress@example.com ” 為例(注意我們這裡假設使用者在郵箱地址末尾不小心多按了個空格),如果我們用md5直接對字串進行編碼,我們會得到下列內容:

echo md5 ( "MyEmailAddress@example.com " ) ; // "f9879d71855b5ff21e4963273a886bfc"

按照上面提到的流程處理同樣的電子郵件地址,可以得到一個完全不同的計算結果:

$ email = trim ( "MyEmailAddress@example.com " ) ; // "MyEmailAddress@example.com"

$ email = strtolower ( $ email ) ; // "myemailaddress@example.com"

echo md5 ( $ email ) ; // "0bc83cb571cd1c50ba6f3e8a78ef1346"

上述代碼可寫成一行代碼:

echo md5 ( strtolower ( trim ( "MyEmailAddress@example.com " ) ) ) ;

獲得產生的雜湊值,就可以請求擷取映像或是個人檔。圖片請求URL形式類似下面:

http://www.gravatar.com/avatar/雜湊值

比如下面就是一個基本的URL連結。

http://www.gravatar.com/avatar/205e460b479e2e5b48aec07710c08d50

若沒有提供尺寸參數,則映像大小預設是80X80。不過,你可以通過s=或size=參數傳遞一個值(映像是正方形的),動態規定Gravatar映像大小。你可以請求從1px到512px範圍內任意尺寸的映像,需要指出的是,許多帳戶圖片的解析度較低,因此大尺寸的頭像效果可能較差。

如果某個電子郵件地址沒有相應的Gravatar頭像時會怎樣呢?Gravatar會返回如下的預設頭像:

如果你需要使用自己的預設頭像(可能是Logo等圖片),你可以在圖片連結後面的d=或者default=參數中指定你自己預設圖片的URL地址。這個URL連結需要進行URL編碼,確保傳輸的正確性。

如何在PHP中對字串進行URL編碼,你可以參看下面這行代碼:

echo urlencode ( 'http://example.com/images/avatar.jpg' ) ;

當你指定了預設的頭像時,Gravatar在電子郵箱雜湊值沒有對應的頭像時會顯示你指定的預設頭像。

除了可以設定預設的頭像外,Gravatar還提供一系列的內建參數選項作為預設值。這類內建參數選項會接受電子郵箱地址的雜湊值,並使用該雜湊值產生主題圖片。若要啟用這些參數,你只需在圖片請求中添加上d=參數,並將參數值設定為下列值即可:

  • 404: 不載入任何頭像。如果電子郵件地址雜湊值沒有對應的映像,則返回404響應(檔案沒有找到)

  • mm: 簡約、卡通風格的人物輪廓像(不會隨郵箱雜湊值變化而變化)。

  • identicon:幾何圖案,其形狀會隨電子郵箱雜湊值變化而變化。

  • monsterid:程式產生的“怪獸”頭像,顏色和面孔會隨會隨電子郵箱雜湊值變化而變化。

  • wavatar::用不同面容和背景組合產生的面孔頭像。

  • retro:程式產生的8位街機像素頭像。

如果你需要使用自己的預設頭像(可能是Logo等圖片),你可以在圖片連結後面的d=或者default=參數中指定你自己預設圖片的URL地址。這個URL連結需要進行URL編碼,確保傳輸的正確性。

如何在PHP中對字串進行URL編碼,你可以參看下面這行代碼:

echo urlencode( ‘http://example.com/images/avatar.jpg’ );

當你指定了預設的頭像時,Gravatar在電子郵箱雜湊值沒有對應的頭像時會顯示你指定的預設頭像。

除了可以設定預設的頭像外,Gravatar還提供一系列的內建參數選項作為預設值。這類內建參數選項會接受電子郵箱地址的雜湊值,並使用該雜湊值產生主題圖片。若要啟用這些參數,你只需在圖片請求中添加上d=參數,並將參數值設定為下列值即可:

404: 不載入任何頭像。如果電子郵件地址雜湊值沒有對應的映像,則返回404響應(檔案沒有找到)

mm: 簡約、卡通風格的人物輪廓像(不會隨郵箱雜湊值變化而變化)。

identicon:幾何圖案,其形狀會隨電子郵箱雜湊值變化而變化。

monsterid:程式產生的“怪獸”頭像,顏色和面孔會隨會隨電子郵箱雜湊值變化而變化。

wavatar::用不同面容和背景組合產生的面孔頭像。

retro:程式產生的8位街機像素頭像。

出於某些原因,你可能需要強制顯示預設頭像。這時你可使用f=或forcedefault=參數,並將參數值設定為y。

http://www.gravatar.com/avatar/205e460b479e2e5b48aec07710c08d50?f=y

Gravatar允許使用者自行對頭像分級,表明頭像是否適合特定的受眾群。只有G級的頭像是預設顯示的,除非希望看到更高分級的頭像。你可以使用r=或rating=參數,指定參數,請求特定分級的頭像。若要允許G或者PG層級的頭像,可以參照下面執行個體設定。

http://www.gravatar.com/avatar/205e460b479e2e5b48aec07710c08d50?r=pg

你可以混用上述所有參數,以產生複雜的請求。比如下面這個URL請求的是200像素大小,分級為G或者PG級的Gravatar頭像,如果對應的郵箱雜湊值沒有頭像,則預設返回404響應。

http://www.gravatar.com/avatar/205e460b479e2e5b48aec07710c08d50?s=200&r=pg&d=404

如果你需要在SSL傳輸的頁面上顯示Gravatar頭像(比如HTTPS開頭的URL頁面),你希望Gravatar也是通過SSL傳輸的,若不這樣,你會看到瀏覽器提示煩人的安全警告。若要進行安全請求,只需將Gravatar請求連結換成下面這樣開頭的連結即可。https://secure.gravatar.com/…除此之外,一切照舊,你只需確保URL開頭跟上面一樣即可。

最後推薦 一個卡通頭像制的網站 http://www.faceyourmanga.com/

  • 相關關鍵詞:
    相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.