這是一個有點蹩腳的問題,因爲我對畫布很陌生。我需要旋轉放置在畫布中的圖像,以使其完全適合畫布區域。在下面給出的代碼片段中,圖像旋轉得很好,但我不知道如何使它適合畫布矩形。我可以嘗試用數學方法與三角,但我認爲這太複雜了:)如何旋轉畫布上下文以使其完全適合畫布區域?
rotating context to fit canvas area http://iconizer.net/img/temp/how-to-rotate.jpg
var imgObj=new Image();
imgObj.src='people.jpg';
var width=128;//dynamic
var height=128;//dynamic
$(imgObj).load(function() {
context.clearRect(0, 0, canvas.width, canvas.height);
var rad = 30 * Math.PI/180;
context.translate(0 + width/2, 0 + height/2);
context.rotate(rad);
//draw the image
context.drawImage(imgObj,width/2 * (-1),height/2 * (-1),width,height);
//reset the canvas
context.rotate(rad * (-1));
context.translate((0 + width/2) * (-1), (0 + height/2) * (-1));
});
這是很容易通過簡單地將旋轉的圖像與期望的座標PHP做的,但在畫布並非如此。請幫助:)
都能跟得上。那不是我想要的。我需要自動調整圖像大小以適合畫布矩形,以防旋轉的圖像大小小於畫布大小。旋轉本身很好。它正確地放置圖像。它只是沒有調整它應該的方式。 –
爲此,您可以使用三角函數來進行計算。小提琴在這裏 - http://jsfiddle.net/poonia/3tPsc/ –
更新了上面的代碼與計算。 –