【问题标题】:Can I re-use the transform of a html5 canvas element?我可以重新使用 html5 画布元素的转换吗?
【发布时间】:2011-07-22 11:54:30
【问题描述】:

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

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

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

}

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

【问题讨论】:

    标签: javascript unit-testing html html5-canvas coordinate-transformation


    【解决方案1】:

    遗憾的是,没有本地方法可以访问转换。您需要自己实现这一点。请参阅HTML5 Canvas get transform matrix? 了解更多信息。希望这会有所帮助!

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-03
    • 2020-01-08
    • 2014-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    相关资源
    最近更新 更多