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,编辑2:'当前转换()'是在whatwg规范中添加的。 (cfr。http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Mar/0269.html) – xtofl
是的,他们将这一点加入规范真是太棒了!不过这是针对较新的浏览器。但这可能会取决于你的目标。 :) –