HTML Canvas を利用して文字列を描画する

HTML Canvas を利用して文字列を描画するコードを紹介します。

概要

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

プログラム

コード

下記のHTMLファイルを作成します。
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title></title>
  <meta charset="utf-8" />

  <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 18pt "メイリオ"';
    context.fillText('Hello HTML Canvas World!', 60, 200);

}
  </script>
</head>
<body onload="draw()" style="background-color:#D0D0D0;">
  <canvas id="SimpleCanvas" width="640" height="480" style="background-color:#FFFFFF;"></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 18pt "メイリオ"';
  context.fillText('Hello HTML Canvas World!', 60, 200);
上記が文字の描画のコードになります。font プロパティに描画する文字のフォント情報を指定します。fillText()メソッドでキャンバスに文字列を描画します。第一引数に描画する文字列、第二、第三引数に描画開始のX座標、Y座標を与えます。

実行結果

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

プログラム2 (文字色を変更する場合)

コード

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title></title>
  <meta charset="utf-8" />

  <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 18pt "メイリオ"';
    context.fillStyle = '#6080A0';
    context.fillText('Hello HTML Canvas World!', 60, 200);

}
  </script>
</head>
<body onload="draw()" style="background-color:#D0D0D0;">
  <canvas id="SimpleCanvas" width="640" height="360" style="background-color:#FFFFFF;"></canvas>
  <div>Canvas Demo</div>
</body>
</html>

解説

  context.font = 'normal 18pt "メイリオ"';
  context.fillStyle = '#6080A0';
  context.fillText('Hello HTML Canvas World!', 60, 200);
文字色を変更する場合は、fillStyleプロパティに文字色を設定します。色の指定方法は、CSSでの指定と同じ文字列を利用できます。

実行結果

上記のHTMLファイルをWebブラウザで表示します。下図の表示結果が得られます。色のついた文字列が描画できています。


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