2012-07-16 35 views
2

圖像加載動態:圖片ID

imageObj.src = "source";

按鈕點擊代碼:

$(document).ready(function() 
     { 
      var value = 0; 
      $('#left').click(function() 
      { 
       alert("left click"); 
       value -= 90; 
       $('#img').rotate({ animateTo: value }); 

      }); 
      $('#right').click(function() 
      { 
       value += 90; 
       $('#img').rotate({ animateTo: value }); 
      }); 
     });  

我在畫布上按一下按鈕動態加載圖像,但我必須旋轉畫布圖像時鐘範圍和逆時針。

當我採取硬編碼的img標籤在HTML它的工作原理,但是當圖像動態加載我的功能不起作用。

+0

究竟什麼是你的問題?你想獲得一個圖像ID?你想在畫布上使用旋轉插件?你想在畫布上繪製旋轉的圖片? – Bergi 2012-07-16 12:59:37

+0

我想按鈕點擊 – John 2012-07-16 13:02:43

+2

的圖片ID你有ID已經,它是「IMG」 - 不是嗎?但是你只能通過DOM樹中的id來選擇元素 - 你的來自loadCanvas的Image對象不是。 – Bergi 2012-07-16 13:07:14

回答

1

就像BERGI提到自己幾乎旋轉,沒有吸引到畫布上。 這裏是一個工作示例我爲你準備的:

http://jsfiddle.net/gurkavcu/J9B3k/

可以旋轉圖像對象是這樣的:

$('#left').click(function() { 

     context.clearRect(0, 0, canvas.width, canvas.height); 
     context.translate((imageObj.width/2), (imageObj.height /2)); 
     context.rotate(-90 * Math.PI/180); 
     context.translate(-(imageObj.width/2), -(imageObj.height/2)); 
     context.drawImage(imageObj, 0, 0, imageObj.width , imageObj.height); 


    }); 
    $('#right').click(function() { 
     context.clearRect(0, 0, canvas.width, canvas.height); 
     context.translate((imageObj.width/2), (imageObj.height/2)); 
     context.rotate(90 * Math.PI/180); 
     context.translate(-(imageObj.width/2), -(imageObj.height/2)); 
     context.drawImage(imageObj, 0, 0, imageObj.width , imageObj.height); 
    }); 
+0

爵士小提琴不加載圖像 – John 2012-07-17 05:56:34

+0

只是檢查工作。 – Luffy 2012-07-17 07:39:02