我無法使用HTML5畫布旋轉圖像。我想我只是算錯了,並希望得到這個權利的任何幫助。在HTML5上旋轉90度的圖像Canvas
在移動設備上,我在150px×558px的畫布上捕獲用戶簽名。我只是試圖創建一個558像素×150像的圖像,這只是捕獲的旋轉90度的簽名。以下是我目前想到的代碼片段。正如你可能猜測的那樣,我並沒有很好地掌握數學這門課。我相信我的程序是正確的,而不是數字。
我試圖做的是: 1)設置畫布中間的中心,我的形象 2)的高度和寬度抵消旋轉90度 3)繪製圖像畫布4)將畫布翻回來。
編輯:這裏有一個的jsfiddle:http://jsfiddle.net/x9FyK/
var $signature = $("#signature");
var signatureData = $signature.jSignature("getData");
console.log(signatureData);
var img= new Image();
img.onload = function() {
var rotationCanvas = document.createElement('canvas');
rotationCanvas.width = img.height;
rotationCanvas.height = img.width;
var context = rotationCanvas.getContext("2d");
context.translate((rotationCanvas.width/2) - (img.width/2), -(rotationCanvas.height/2) - img.height/4);
context.rotate(Math.PI/2);
context.drawImage(img,0,0);
context.translate(-((rotationCanvas.width/2) - (img.width/2)), -(-(rotationCanvas.height/2) - img.height/4));
var rotatedData = rotationCanvas.toDataURL();
...Handling rotated data here
};
img.src = signatureData;
如果我能提供任何詳細資訊,請讓我知道。
預先感謝您的幫助,
您可以發佈的jsfiddle鏈接? – InferOn
我用小提琴編輯過帖子:http://jsfiddle.net/x9FyK/ – user3582127