假设我想转换 Canvas 上下文坐标空间以包含某个边界框,并且我正在围绕它编写测试。
是否有可能真正“使用”上下文的转换,有点像这样:
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 );
}
或者有没有其他方法可以写这个测试函数?
最佳答案
遗憾的是,没有本地方式来访问转换。您需要自己实现。参见 HTML5 Canvas get transform matrix?了解更多信息。希望这对您有所帮助!
关于javascript - 我可以重新使用 html5 canvas 元素的转换吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6789611/