サイトのドメインからブログ家紋を作ってみる試み

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

こういうやつ。

identiconの例

これは、メールアドレスの文字列から、そのメールだけのためにユニーク(一意)な画像を作成してくれます。メールアドレスが、1文字でも違えば、画像は全く違うものになります。

で、こういったIdenticonを見ていて、ふと、「サイトのドメインはユニークなものなので、Identiconでブログの家紋(ログ紋)みたいなものをつくれないかな?」と思いました。

で、Gravatarには開発者向け資料にAPIも公開されていたので、早速、ショートコードでブログの家紋をつくれるようにコードを書いてみました。

photo by Rubber Soul

スポンサーリンク
レクタングル(大)広告

ブログ家紋のショートコード

それで、Identiconをとショートコード機能を利用して、以下のような家紋ぽいものを表示させてみました。

基本の使い方

このサイト(寝ログ)

ショートコードに上記のように書いて、何も引数を指定しないと、そのブログのドメインでログ紋が作成されます。

その他の使い方

以下のように、domain引数に、他のドメインを指定して作成することもできます。(※以下はブログではないけど)

Google

Yahoo!

Twitter

Facebook

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ハッシュ化などをしなくても使えそうなものもありました。それが以下。

Identicon

Identicon

こちらは、以下のようにドメインを書くだけで手軽につくれます。

<img src="http://identicon.relucks.org/nelog.jp?size=200" alt="" />

あとはスタイルを指定するだけ。当然ながらGravatorのものとは絵柄は変わります。

以下は、文字列からユニーク(一意)なロボットアバターを作ってくれるサービスです。

RoboHash

RoboHash

これは、以下のように指定すると、どんな文字列でもユニークなものを作成してくれます。

<img src="http://robohash.org/nelog.jp" alt="nelog.jp RoboHash" />

nelog.jp RoboHash

これが、当サイトドメインからできるアバターです。

まとめ

今回、たまたま思いつきでドメインから家紋ぽいものを作ってみました。

実際に作ってみると、思っていた以上に、それっぽいものができて個人的には満足しています。使いどころはないですが。

今回、GravatarのIdenticonを使用し、ユニーク(一意)な画像を作成してみました。

ただ、家紋のように周りを円形にトリミング表示してしまうと、隠れてしまう部分もでてきます。ですので、必ずしもユニークなものには、ならない可能性もあると思います。

それにしても、当ブログドメインから作成したこの紋、今回作成した中では、一番しょぼい。

スポンサーリンク
レクタングル(大)広告
レクタングル(大)広告

フォローする

スポンサーリンク