HTML Canvas を利用して文字列のアウトラインを描画する

HTML Canvas を利用して文字列のアウトラインを描画するコードを紹介します。

概要

HTML Canvas を利用して文字列のアウトラインを描画するには、キャンバスのコンテキストのstrokeText()メソッドを利用します。

プログラム

コード

下記のHTMLファイルを作成します。
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title></title>
  <meta charset="utf-8" />
  <style type="text/css">
    <!--
    .canvas {
      background-color: #FFFFFF;
      background-image: url("/resource/tile.png");
    }
    -->
  </style>
  <script type="text/javascript">
  function draw() {
    var canvas = document.getElementById('SimpleCanvas');

    if ( ! canvas || ! canvas.getContext ) {
      return false;
    }

    var context = canvas.getContext('2d');
    context.font = 'normal 28pt "メイリオ"';
    context.strokeText('Hello HTML Canvas World!', 60, 200);
  }
  </script>
</head>
<body onload="draw()" style="background-color:#D0D0D0;">
  <canvas id="SimpleCanvas" width="640" height="360" class="canvas"></canvas>
  <div>Canvas Demo</div>
</body>
</html>

解説

  var canvas = document.getElementById('SimpleCanvas');

  if ( ! canvas || ! canvas.getContext ) {
    return false;
  }
  var context = canvas.getContext('2d');
上記のコードがキャンバスオブジェクトの取得と、コンテキストの取得になります。キャンバスオブジェクトの取得の詳細はこちらを参照してください。

    context.font = 'normal 28pt "メイリオ"';
    context.strokeText('Hello HTML Canvas World!', 60, 200);
上記が文字の描画のコードになります。font プロパティに描画する文字のフォント情報を指定します。strokeText()メソッドでキャンバスに文字列のアウトラインを描画します。第一引数に描画する文字列、第二、第三引数に描画開始のX座標、Y座標を与えます。

実行結果

上記のHTMLファイルをWebブラウザで表示します。下図の表示結果が得られます。

著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2015-10-06
作成日: 2015-10-05
iPentec all rights reserverd.