jQuery で HTML5 キャンバス要素に描画されたグラフィックを参照することはできますか? ベクトル座標の配列を含むオブジェクトを反復処理する EaselJS 用に私が書いた関数を次に示します。
function newShape(obj,shape,coords){
obj.graphics.beginFill('green');
obj.alpha = 0.05;
for (var i=0; i<coords[shape].length; i+=2) {
var arr = coords[shape].slice(i,i+2);
obj.graphics.lineTo(arr[0],arr[1]);
}
obj.graphics.closePath();
obj.graphics.endFill();
stage.addChild(obj);
}
coords オブジェクトは、数百のポイントで次のようになります。
var coords = {};
coords['0'] = [214,266,214,291,194,291];
coords['1'] = [243,1,254,2,278,9,290,14];
coords['2'] = [109,112,116,114,129,117];
そしてステージ:
canvas = document.getElementById("canvas");
stage = new createjs.Stage(canvas);
shape1 = new createjs.Shape();
shape2 = new createjs.Shape();
shape3 = new createjs.Shape();
newShape(shape1,'shape1',coords);
newShape(shape2,'shape2',coords);
newShape(shape3,'shape3',coords);
クリック/タッチ イベントのレンダリングされた形状にリスナーを追加できますが、Bootstrap Popover や niceScroll などのプラグインで使用するために、各グラフィックを DOM 要素として参照できるようにしたいと考えています$(shape1).popover('show');
。私は積極的に解決策に取り組んできましたが、成功していません。どんな助けも大歓迎です!