1

想象一下,我想转换一个画布上下文坐标空间以包含某个边界框,并且我正在围绕它编写一个测试。

是否有可能真正“使用”上下文的转换,有点像这样:

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 );

}

或者有没有其他方法可以编写这个测试函数?

4

1 回答 1

2

遗憾的是,没有本地方法可以访问转换。您需要自己实现这一点。查看HTML5 Canvas 获取变换矩阵?了解更多信息。希望这会有所帮助!

于 2012-02-10T16:26:52.527 回答