Могу ли я повторно использовать преобразование элемента холста html5? - PullRequest
1 голос
/ 22 июля 2011

Представьте, что я хочу преобразовать пространство координат контекста холста, чтобы оно содержало определенную ограничивающую рамку, и что я пишу тест вокруг нее.

Можно ли на самом деле «использовать» преобразование контекста, примерно так:

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

}

Или есть другой способ написать эту тестовую функцию?

1 Ответ

2 голосов
/ 10 февраля 2012

К сожалению, нет никакого собственного способа доступа к преобразованию.Вам нужно будет реализовать это самостоятельно.См. HTML5 Canvas get transform matrix? для получения дополнительной информации.Надеюсь, это поможет!

...