
WordPressのアバターなどに使われているGravatarやGitHubでは、Identiconという画像を作成することができます。
こういうやつ。

これは、メールアドレスの文字列から、そのメールだけのためにユニーク(一意)な画像を作成してくれます。メールアドレスが、1文字でも違えば、画像は全く違うものになります。
で、こういったIdenticonを見ていて、ふと、「サイトのドメインはユニークなものなので、Identiconでブログの家紋(ログ紋)みたいなものをつくれないかな?」と思いました。
で、Gravatarには開発者向け資料にAPIも公開されていたので、早速、ショートコードでブログの家紋をつくれるようにコードを書いてみました。
photo by Rubber Soul
目次
ブログ家紋のショートコード
それで、Identiconをとショートコード機能を利用して、以下のような家紋ぽいものを表示させてみました。
基本の使い方
このサイト(寝ログ)
ショートコードに上記のように書いて、何も引数を指定しないと、そのブログのドメインでログ紋が作成されます。
その他の使い方
以下のように、domain引数に、他のドメインを指定して作成することもできます。(※以下はブログではないけど)
Yahoo!
Amazon
楽天
大きさ変更、枠なしも選択できます
大きさを変更する場合は、sizeでpx数を指定します。
枠をなくす場合は、以下のように指定します。
ショートコードの実装部分
ショートコードの実装部分は、以下のようになっています。
WordPressの場合は、functions.phpに以下を貼り付ければ利用できます。
//GravatarからIdenticonを取得
function get_gravatar( $domain, $s = 300, $img = false, $atts = array() ) {
    $url = 'http://www.gravatar.com/avatar/';
    $url .= md5( strtolower( trim( $domain ) ) );
    $url .= "?s=$s&d=identicon&r=pg";
    if ( $img ) {
        $url = '<img src="' . $url . '"';
        foreach ( $atts as $key => $val )
            $url .= ' ' . $key . '="' . $val . '"';
        $url .= ' />';
    }
    return $url;
}
//サイトのドメインを取得
function extract_the_site_domain(){
  //ドメイン情報を$results[1]に取得する
  preg_match( '/https?:\/\/(.+?)\//i', admin_url(), $results );
  return $results[1];
}
//ブログ用家紋(ログ紋)用のショートコード
function make_blog_emblem($arg) {
  extract ( shortcode_atts ( array (
       'domain' => extract_the_site_domain(),
       'size' => 200,
       'circle' => 1,//true
   ), $arg ) );
  $atts = array();
  if ((boolean)$circle) {
    $frame_width = ceil( $size / 7 );
    $atts = array('style' => 'border-radius: 50% !important;border: '.$frame_width.'px solid #333 !important;');
  }
  return get_gravatar($domain, $size, true, $atts);
}
add_shortcode('logmon', 'make_blog_emblem');
Gravatarは、文字列部分(今回はドメイン)をMD5でハッシュ化して渡してやる必要があります。
枠線の幅は、以下の数字の部分を適当に調節してください。
$frame_width = ceil( $size / 7 );
その他のIdenticon系サービス
ネットで、調べてみたら、Identicon系の画像を作成できるコードや、サービスはそこらじゅうにありました。
その中で、Gravatarほどのオーソリティーはないけど、MD5ハッシュ化などをしなくても使えそうなものもありました。それが以下。

こちらは、以下のようにドメインを書くだけで手軽につくれます。
<img src="http://identicon.relucks.org/nelog.jp?size=200" alt="" />
あとはスタイルを指定するだけ。当然ながらGravatorのものとは絵柄は変わります。
以下は、文字列からユニーク(一意)なロボットアバターを作ってくれるサービスです。

これは、以下のように指定すると、どんな文字列でもユニークなものを作成してくれます。
<img src="http://robohash.org/nelog.jp" alt="nelog.jp RoboHash" />
これが、当サイトドメインからできるアバターです。
まとめ
今回、たまたま思いつきでドメインから家紋ぽいものを作ってみました。
実際に作ってみると、思っていた以上に、それっぽいものができて個人的には満足しています。使いどころはないですが。
今回、GravatarのIdenticonを使用し、ユニーク(一意)な画像を作成してみました。
ただ、家紋のように周りを円形にトリミング表示してしまうと、隠れてしまう部分もでてきます。ですので、必ずしもユニークなものには、ならない可能性もあると思います。
それにしても、当ブログドメインから作成したこの紋、今回作成した中では、一番しょぼい。
 
        