1

Kinetic を使用して必要なキャンバスを作成した後、別の方法で操作したいと考えています。Kinetic で作成されたキャンバスの ID がドキュメントでわかりません。getElementById を使用して取得したい。御時間ありがとうございます。

4

2 に答える 2

1

残念ながら、Kinetic は Canvas を ID で定義しません。「getCanvas」関数を使用するとうまくいくかもしれませんが、特定のレイヤーから呼び出す必要があります。私にとっての最善の解決策は、div コンテナーの ID を使用し、「getElementsByTagName」を呼び出して Canvas 要素に到達することです。ただし、通常は Canvas が 1 つしかないため、次のようにして取得できます。

console.log(document.getElementsByTagName('canvas')[0]);

唯一の問題は、Kinetic がレイヤーごとに個別の Canvas 要素を作成することです。そのため、プロジェクトで 1 つのレイヤーのみを使用するか、すべてをブラウズする必要があります。

var canvases = document.getElementsByTagName('canvas');
for (var i = 0; i < canvases.length; i++) {
    console.log(canvases[i]);
}
于 2013-04-02T15:50:15.177 に答える
0

使用するとgetCanvas()うまくいきますか?(キネティックのドキュメントには、「レイヤー キャンバスを取得する」ために使用されると書かれているだけです)

さらに、同じ考えかどうかはわかりませんが、この質問を確認してください。

于 2013-01-23T21:37:39.307 に答える