【发布时间】:2020-08-03 16:02:26
【问题描述】:
我需要将多张图片放入画布中。图像应旋转、调整大小并放置在特定坐标处。所以总的来说我需要
ctx.drawImage(img,left,top, width, height);
但旋转了。
我想出了这个功能:
function drawRotated(image, context, angle, left, top, width, height) {
context.save();
context.translate(width / 2, height / 2);
context.rotate(Math.PI / 180 * angle);
context.drawImage(image, left - width / 2, top - height / 2, width, height);
context.restore();
}
但它似乎并没有完全按照需要工作。看起来旋转后我需要使用旋转将图像变成的新宽度和高度重新计算位置。但我无法弄清楚数学。我是否需要实际做三角函数来计算所有这些,还是有一个简单的解决方案?谢谢。
【问题讨论】:
-
这个答案stackoverflow.com/a/43155027/3877726有你需要的。
标签: canvas html5-canvas