我創建了基本的HTML5圖像滑塊,圖像在畫布中從上到下移動。 我想要所有的圖像在5度角旋轉。當我嘗試它時,畫布上似乎有一些變形,並且圖像未正確旋轉。畫布圖像旋轉中的問題
我試過在下面文章中提到旋轉的方法
How do I rotate a single object on an html 5 canvas?
小提琴 - http://jsfiddle.net/DS2Sb/
代碼
this.createImage = function (image, width, height) {
var fbWallImageCanvas = document.createElement('canvas');
var fbWallImageCanvasContext = fbWallImageCanvas.getContext('2d');
fbWallImageCanvas.width = width;
fbWallImageCanvas.height = height;
fbWallImageCanvasContext.save();
fbWallImageCanvasContext.globalAlpha = 0.7;
this.rotateImage(image, 0, 0, width, height, 5, fbWallImageCanvasContext);
fbWallImageCanvasContext.drawImage(image, width, height);
fbWallImageCanvasContext.restore();
return fbWallImageCanvas;
};
this.rotateImage = function (image, x, y, width, height, angle, context) {
var radian = angle * Math.PI/180;
context.translate(x + width/2, y + height/2);
context.rotate(radian);
context.drawImage(image, width/2 * (-1), height/2 * (-1), width, height);
context.rotate(radian * (-1));
context.translate((x + width/2) * (-1), (y + height/2) * (-1));
};
您的代碼將兩次繪製圖像的屏幕外的畫布:一個旋轉,一個不旋轉。那是你想要的代碼嗎? – markE