1
キャンバスコンテキスト座標空間を特定のバウンディングボックスを含むように変換し、その周りにテストを書いているとします。html5 canvas要素の変換を再利用できますか?
function toBoundingBox(context, upleft, botright) {
// ...
}
// and the test function:
function test(canvaselement) {
var canvasbox = {
topleft: {x:0, y:0},
botright: {x:canvaselement.width, y:canvaselement.height} };
var ctx = canvaselement.getContext("2d");
toBoundingBox(ctx, {x:-1,y:-1}, {x:2, y: -5});
var thetransform = ctx.getTransform();
assert(thetransform({x:-1,y:-1}) == canvasbox.topleft);
assert(thetransform({x:2, y:-5}) == canvasbox.botright);
}
それとも、このテスト関数を記述する他の方法があります:
それは多少このように、実際には「使用」コンテキストの変換をすることは可能でしょうか?
あなたは正しいですが... http://stackoverflow.com/a/7395910/6610、edit 2:whatwg仕様に 'currentTransformation()'が追加されました。 (cf. http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Mar/0269.html) – xtofl
ええ、彼らはそれを仕様に加えたことは素晴らしいことです!それは新しいブラウザのためです。しかし、それはあなたの目標に応じてうまくいくかもしれません。 :) –