想象一下,我想将一个画布上下文坐标空间转换为包含一个特定的边界框,并且我正在围绕它编写一个测试。
是否有可能实际“使用”上下文的转换,有点像这样:
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 );
}
或者还有其他方法可以编写这个测试函数吗?