哪位能解决问题,需要帮助

canvas矩形旋转后8个点拉伸图形,注意旋转后拉伸图形,要保证不变,啊求🌚帮忙解决一下问题

可能是没有设置canvas的宽高问题
参考链接,希望有帮助

vue 里 canvas 可以 使用 vue-canvas-poster 这个包
可以画二维码,什么海报图 都可以 ,使用方法 可以参数这个
https://www.jianshu.com/p/20de730cf55b

估计是Canvas 的设置旋转后乱套了,试试在控制旋转前要先调用save() 保存好设置,最后如果要恢复之前的设置,就调用restore() ,代码如下

     //...
    ctx.save();
    ctx.translate(x, -y);
    //...
    ctx.rotate(angleInRadians);
    //...
    ctx.restore();

这个可以贴一下交互图


function drawImg(angle)
{
    canvas.width = canvas.width;
    var distance = size / 2 * Math.sqrt(2) * Math.sin(angle * Math.PI / 180 / 2) * 2;
    var degree = 180 - 45 - (180 - angle) / 2;
    var x = distance * Math.sin(degree * Math.PI / 180);
    var y = distance * Math.cos(degree * Math.PI / 180);
    ctx.translate(x, -y);
    var angleInRadians = angle * Math.PI / 180;
    ctx.rotate(angleInRadians);
    ctx.drawImage(img, 0, 0, 32, 32);
    ctx.restore();
}

参考一下呢