我不明白转换矩阵是什么以及如何使用它.
以下将在我的画布的0,0处绘制一个圆圈:( 从使用svg2canvas.jar转换的svg生成)
drawPoints: function(ctx, max_points)
{
ctx.save();
ctx.setTransform(1, 0, 0, 1, -551.23701, -368.42499);
ctx.fillStyle="#0066ab";
ctx.globalAlpha="0.7";
ctx.beginPath();
ctx.moveTo(584.50,387.96);
ctx.bezierCurveTo(584.50,397.14,577.05,404.59,567.87,404.59);
ctx.bezierCurveTo(558.68,404.59,551.24,397.14,551.24,387.96);
ctx.bezierCurveTo(551.24,378.77,558.68,371.33,567.87,371.33);
ctx.bezierCurveTo(577.05,371.33,584.50,378.77,584.50,387.96);
ctx.closePath();
ctx.fill();
ctx.restore();
}
Run Code Online (Sandbox Code Playgroud)
我想传递setTransform()的参数来绘制我的画布的任何部分,但是我根本不明白如何使用它.
好吧,事情变得复杂了......
给定情况:
我有一个尺寸为 800x600 的画布。
我的鼠标位于画布位置 100x200(例如)。
我保存我的画布状态。
现在我旋转并平移画布,绘制一个正方形。
我恢复画布状态。
有什么方法可以确定我的鼠标是否位于方块上?
我想我也必须向相反的方向平移/旋转我的鼠标位置,但我该怎么做呢?