假设我们有一个画布:
<canvas id="one" width="100" height="200"></canvas>
然后单击按钮,画布顺时针旋转 90 度(围绕中心),画布的尺寸也得到更新,所以在某种意义上它看起来像这样:
<canvas id="one" width="200" height="100"></canvas>
注意画布的id是一样的。
想象一下简单地顺时针旋转图像而没有被裁剪或填充。
在我创建新画布并逐像素旋转和复制之前,有什么建议吗?
使用评论中的建议更新示例代码仍然无法正常工作:
function imageRotatecw90(){
    var canvas = document.getElementById("one");
    var context = canvas.getContext("2d");
    var cw=canvas.width;
    var ch=canvas.height;
    var myImageData = context.getImageData(0,0, cw,ch);
    context.save();
    context.translate(cw / 2, ch / 2);
    context.rotate(Math.PI/2);
    context.putImageData(myImageData, 0, 0);
    context.restore();
    canvas.width=ch;
    canvas.height=cw;
}