canvas矩形旋转后8个点拉伸图形,注意旋转后拉伸图形,要保证不变,啊求🌚帮忙解决一下问题
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();
}