Html5 canvas 无法获取上下文。请旋转以正确显示图像

Html5 canvas 无法获取上下文。请旋转以正确显示图像,html5-canvas,Html5 Canvas,我需要将图像旋转180度,但当我添加旋转代码时,图像会变成正方形 var moulding_matte_canvas_height = [], canvas = document.createElement('canvas'), ctx = canvas.getContext("2d"), width = 5.171363636363637, opening_i = 0, rotate = 180 * Math.PI / 180, i = 2; moulding_mat

我需要将图像旋转180度,但当我添加旋转代码时,图像会变成正方形

var moulding_matte_canvas_height = [],
  canvas = document.createElement('canvas'),
  ctx = canvas.getContext("2d"),
  width = 5.171363636363637,
  opening_i = 0,
  rotate = 180 * Math.PI / 180,
  i = 2;

moulding_matte_canvas_height[0] = 225;
canvas.width = 285;
canvas.height = 335;
img = new Image();
img.src = 'http://www.asa.tframes.org:1881/system/components/compimg/80ac89fad42cf14561b641df241bf406/pattern';

function moulding_get_segment_width(img_width, opening_i)
{
  return 175;
}

//
$(img).on("load", function() {
ctx.save(); 
ctx.translate(width, moulding_matte_canvas_height[opening_i]); 
//ctx.rotate(rotate);
//ctx.rotate(Math.PI);
ctx.drawImage(img, 0, 0, moulding_get_segment_width(img.width, i), width);
ctx.restore();   

//
});
$("#mattes").append(canvas); /*appending the canvas*/

(由于将绘制的其他元素,空白是故意的,图像旁边的红色只是为了清晰)

不旋转:

使用旋转:

预期:

您的图像看起来像一个正方形,因为它只显示画布上的一小部分。这是因为
translate
仅在x轴上移动~5px(您的“
width
”变量)


具有更高的x值。

您的图像看起来像一个正方形,因为它只显示画布上的一小部分。这是因为
translate
仅在x轴上移动~5px(您的“
width
”变量)


使用更高的x值。

谢谢,我刚才已经解决了这个问题,但是没有更新问题。谢谢,我刚才解决了这个问题,但是没有更新问题。