★Canvasリファレンス

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

context . isPointInPath(x, y) …… 座標がパスの内側にあるかどうかを確認する
Internet Explorer9
Firefox2Firefox3Firefox4
Google Chrome1Google Chrome2Google Chrome3Google Chrome4Google Chrome5Google Chrome6
Safari3Safari4Safari5
Opera9Opera10
広告



isPointInPath(x, y)メソッドは、 座標がパスの内側にあるかどうかを確認する際に使用します。
座標(x, y)が現在のパスの内側にある場合にはtrue、外側にある場合にはfalseが返ります。
パスに変形が指定されていても、変形が適用されていない状態のパスに対して計測されます。

座標(x, y)がパス上にある場合には、trueが返ります。
引数xとyに無限大や数値以外を指定した場合にはfalseが返ります。

■非ゼロ回転数ルール

isPointInPath(x, y)メソッドでは、座標(x, y)が現在のパスの内側にあるかどうかを判別する際に「非ゼロ回転数ルール」というルールが適用されます。
非ゼロ回転数ルールでは、サブパスが交差して図形同士が重なった部分もパスの内側として判別されます。

以下の図は、非ゼロ回転数ルールと偶数奇数ルールの違いを示したものです。
isPointInPath(x, y)メソッドでは偶数奇数ルールを指定できるわけではありませんが、
比較をすることで非ゼロ回転数ルールを理解しやすくなるのではないかと思います。

四角形や円などの単純な図形の場合には特に意識する必要はありませんが、
サブパス同士が交差するような複雑な図形で内側かどうかを判別する場合には、
ルール次第で結果が異なるので、簡単に理解しておくと良いでしょう。


■使用例

HTML + JavaScriptソース

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>canvasで図形を描く</title>
<script type="text/javascript">
<!--
//確認のアラート表示で利用する変数を定義しておく
var x50y50;
var x100y100;

function test() {
  //描画コンテキストの取得

  var canvas = document.getElementById('sample');
  if (canvas.getContext) {
    var context = canvas.getContext('2d');
    //ここに具体的な描画内容を指定する
    //新しいパスを開始する
    context.beginPath();
    //左から20上から20の位置に幅50高さ50の輪郭の四角形を作成する
    context.rect(20,20,50,50);
    //現在のパスを輪郭表示する
    context.stroke();

    //座標がパスの内側にあるかどうかを変数zに代入
    x50y50 = context.isPointInPath(50, 50);
    x100y100 = context.isPointInPath(100, 100);
  }
}
//-->
</script>
</head>
<body onLoad="test()">
<h2>Canvasで図形を描く</h2>
<canvas width="300" height="150" id="sample" style="background-color:yellow;">
図形を表示するには、canvasタグをサポートしたブラウザが必要です。
</canvas>
<p>
<input type="button" value="座標(50, 50)がパスの内側にあるかどうか確認" onClick="alert(x50y50);"><br>
<input type="button" value="座標(100, 100)がパスの内側にあるかどうか確認" onClick="alert(x100y100);">
</p> </body> </html>

↓↓↓

ブラウザ上の表示

Canvasで図形を描く


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


■関連項目

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



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

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

カジノファインダー

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

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

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

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