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 get transform matrix?を参照してください。詳細については。うまくいけば、これが役に立ちます!

于 2012-02-10T16:26:52.527 に答える