我浪费了 2 天的时间在谷歌上搜索我的问题,但没有得到任何线索。实际上,我有在画布上绘制圆形、正方形、鼠标向下和向上事件的工作代码(此绘图是在画布上动态绘制的)。现在我想随机放大包含此图形的画布。
当我尝试这个时,我才知道......在画布缩放后需要重新绘制图形。有没有办法以简单的方式做到这一点?
画布中是否有任何方法可以维护与绘制的图形相关的所有信息?
我可以在缩放后按相应的比例绘制这些数字吗?
请帮助我...任何有助于我进一步工作的线索或任何代码片段。谢谢你的任何帮助......
我有以下代码片段,其中包含一条在缩放时一次又一次调用的曲线。但是这个数字是静态的,所以每次坐标都是相同的。但在我的情况下,数字坐标随着数字的变化而变化。
function draw(scale, translatePos){
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
// clear canvas
context.clearRect(0, 0, canvas.width, canvas.height);
context.save();
context.translate(translatePos.x, translatePos.y);
context.scale(scale, scale);
context.beginPath(); // begin custom shape
context.moveTo(-119, -20);
context.bezierCurveTo(-159, 0, -159, 50, -59, 50);
context.bezierCurveTo(-89, -95, -139, -80, -119, -20);
context.closePath(); // complete custom shape
context.fill();
context.stroke();
context.restore();
}