2013-12-10 36 views
0

我在一個繪圖層工作,我需要製作Javascript類,它將在畫布上繪製圖像。現在,我有一些這樣的:javascript class image.onload

<canvas id="stage" width="1000" height="640"></canvas> 
    <script> 
     function ImageD(canvasId, imageSRC, X, Y, widht, height, Opacity) 
     { 
      var canvas; 
      var canvasInfo; 
      var opacity = Opacity || 1; 
      var image = new Image(); 

      var selectCanvas = function() 
      { 
       canvas = document.getElementById(canvasId); 
      }; 

      var get2dContext = function() 
      { 
       canvasInfo = canvas.getContext("2d"); 
      }; 

      this.draw = function() 
      { 
       selectCanvas(); 
       get2dContext(); 
       image.onLoad = function() 
       { 
        canvasInfo.drawImage(image, X, Y); 
       }; 
       image.src = imageSRC; 
      }; 
     } 

     var img = new ImageD("stage",  "http://www.nasa.gov/images/content/711375main_grail20121205_4x3_946-710.jpg", 20, 20, 30, 30); 
img.draw(); 
    </script> 

,並在控制檯我得到這個錯誤或通知......

資源解釋爲腳本,但使用MIME類型text/plain的轉移:.....

+0

腳本需要圍繞它的腳本標記.... – ryanc1256

+0

我有腳本標記,即使這段JavaScript代碼是exsternal文件... – user3088870

+0

好牛逼母雞....這是你所有的腳本? – ryanc1256

回答

0

我修這跟如下代碼:

function ImageD(canvasId, imageSRC, X, Y, widht, height, Opacity) 
{ 
    var canvas; 
    var canvasInfo; 
    var opacity = Opacity || 1; 
    var image = new Image(); 

    var selectCanvas = function() 
    { 
     canvas = document.getElementById(canvasId); 
    }; 

    var get2dContext = function() 
    { 
     canvasInfo = canvas.getContext("2d"); 
    }; 

    var drawImg = function() 
    { 
     canvasInfo.drawImage(image, X, Y); 
    }; 

    this.draw = function() 
    { 
     selectCanvas(); 
     get2dContext(); 
     image.src = imageSRC; 
     image.addEventListener('load', drawImg, false); 
    }; 
}