★Canvasリファレンス

私たちはカジノサイトを独自にレビューしています。当社のリンクを通じてサインアップすると、追加料金なしで当社に手数料が発生する場合があります。

context . createPattern(image, repetition) …… 背景パターンとその繰り返し方法を指定する
Internet Explorer9
Firefox2Firefox3Firefox4
Google Chrome1Google Chrome2Google Chrome3Google Chrome4Google Chrome5Google Chrome6
Safari3Safari4Safari5
Opera9Opera10
広告



createPattern(image, repetition)メソッドは、背景パターンとその繰り返し方法を指定する際に使用します。

引数imageは、背景パターンに使用するイメージデータを表します。
イメージデータとして利用できるのは、
<canvas>
<img>
<video>のいずれかで、
それ以外を指定するとエラー(TYPE_MISMATCH_ERR)となります。
また、背景パターンのイメージデータが存在しなかったり、利用できない場合にはエラー(INVALID_STATE_ERR)となります。

引数repetitionは、背景パターンの繰り返し方法を表します。
指定できる値は以下の4つで、指定を省略した場合の初期値は repeat です。
大文字と小文字が区別されるので、必ず小文字で指定してください。
以下の値以外を指定するとエラー(SYNTAX_ERR)となります。

  • repeat …… 水平・垂直の両方向に背景パターンを繰り返す(初期値)
  • repeat-x …… 水平方向にのみ背景パターンを繰り返す
  • repeat-y …… 垂直方向にのみ背景パターンを繰り返す
  • no-repeat …… 背景パターンを繰り返さない

背景パターンの開始位置は、canvas要素の左上端となります。
描画する図形の左上端ではない点に注意してください。

createPattern()メソッドを呼び出した後でイメージデータに変更を加えても、背景パターンは影響を受けません。

背景パターンが描画される際には、その時点で指定されている変形の影響を受けます。

■背景パターンとその繰り返し方法を指定する

背景パターンで塗りつぶした四角形を描画する場合は以下のような流れとなります。

  1. 背景パターンとして使用するImageオブジェクトを生成する
  2. 生成したImageオブジェクトに画像ファイルのパスを代入する
  3. 画像が読み込める場合には、beginPath()で、現在のパスをリセットする
  4. createPattern(image, repetition)で、背景画像とその繰り返し方法を指定する
  5. fillStyle()メソッドで、上で指定した背景パターン内容を塗りつぶしスタイルに代入する
  6. rect(x, y, w, h)メソッドで、四角形を作成する
  7. fill()メソッドで、現在のパスを塗りつぶす

■引数(値)の説明

image
背景パターンに使用するイメージデータ(利用できるのは、<canvas><img><video>のいずれか)
repetition
背景パターンの繰り返し方法(指定できる値は、repeat・repeat-x・repeat-y・no-repeatのいずれか、初期値はrepeat)

■使用例

HTML + JavaScriptソース

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>canvasで図形を描く</title>
<script type="text/javascript">
<!--
function test() {
  //描画コンテキストの取得
  var canvas = document.getElementById('sample');
  if (canvas.getContext) {
    var context = canvas.getContext('2d');
    //ここに具体的な描画内容を指定する
    //背景パターンとして使用するImageオブジェクトを生成する
    var img = new Image();
    //生成したImageオブジェクトに画像ファイルのパスを代入する
    img.src = 'images/bg_check.gif';
    //画像が読み込める場合には、背景パターン指定と図形描画を実行する
    img.onload = function(){
        //新しいパスを開始する
        context.beginPath();
        //背景画像とその繰り返し方法を指定する
        var pattern = context.createPattern(img, 'repeat');
        //上で指定した背景パターン内容を塗りつぶしスタイルに代入する
        context.fillStyle = pattern;
        //左から20上から20の位置に幅50高さ50の輪郭の四角形を作成する
        context.rect(20,20,50,50);
        //現在のパスを塗りつぶす
        context.fill();
    }
  }
}
//-->
</script>
</head>
<body onLoad="test()">
<h2>Canvasで図形を描く</h2>
<canvas width="300" height="150" id="sample" style="background-color:yellow;">
図形を表示するには、canvasタグをサポートしたブラウザが必要です。
</canvas>
<p><img src="https://www.htmq.com/wp-content/themes/htmq/htmq-images/bg_check.gif">←背景パターンに使用した画像(30×30ピクセル)</p>
</body>
</html>
↓↓↓

ブラウザ上の表示

Canvasで図形を描く


図形を表示するには、canvasタグをサポートしたブラウザが必要です。

←背景パターンに使用した画像(30×30ピクセル)

■関連項目

<canvas> …… 図形を描くHTML5から追加
広告



山田 太郎
テック・リード
山田太郎は、ウェブ開発やグラフィックスプログラミングに10年以上の経験を持つテクノロジーの専門家です。特にHTML5 CanvasやJavaScript、インタラクティブメディアに精通しており、動的なユーザーインターフェースや最先端のウェブアプリケーションの開発に携わってきました。複雑な図形描画や画像操作、リアルタイムグラフィックスに関する知識が豊富で、ウェブ技術の限界を追求する開発者たちにとって頼りになる存在です。知識の共有に情熱を持ち、初心者からプロフェッショナルまで幅広く支援するため、技術フォーラムやブログにも積極的に貢献しています。

ギャンブルガイド もっと見る

カジノファインダー

どのカジノが自分に最適か分からないですか?

サインアップは必要なく、1 分以内に最適なブックメーカーを簡単に見つけることができます。
カジノを探す
Back
質問
Select one of the following options
{"is_any_tile":true}

どのカジノが自分に最適か分からないですか?

Back
Restart
やったー!
これはあなたの選択に基づいた最高のカジノです...
56 users signed up
もっと表示する