2013-12-09 28 views
0

我使用下面的代碼將樣式設置爲「Canvas」。但我無法將"fillStyle"設置爲畫布。但strokeStylelineWidth工作正常。如何將樣式設置爲html5畫布?

Init(){ 
    var can = byId('myCanvas'); 

     // get it's context 
     hdc = can.getContext('2d'); 

     hdc.strokeStyle = 'red'; 
     hdc.lineWidth = 2; 

     // Fill the path 
     hdc.fillStyle = "#9ea7b8"; 
     hdc.fill(); 
} 

//然後用座標調用drawPoly函數。

function drawPoly(coOrdStr) { 
     var canvas = byId('myCanvas'); 
     hdc.clearRect(0, 0, canvas.width, canvas.height); 

     var mCoords = coOrdStr.split(','); 
     var i, n; 
     n = mCoords.length; 
     hdc.beginPath(); 
     hdc.moveTo(mCoords[0], mCoords[1]); 
     for (i = 2; i < n; i += 2) { 
      hdc.lineTo(mCoords[i], mCoords[i + 1]); 
     } 
     hdc.lineTo(mCoords[0], mCoords[1]); 
     hdc.stroke(); 

    } 

有人可以幫忙嗎?

+0

我改變填充樣式顏色manytimes。但沒有變化。 – Bharathi

+0

你需要指定你想填補什麼......一個矩形,一個圓圈......你關閉了你的中風路徑? – cocco

+0

你還沒有畫任何東西。 – scrblnrd3

回答

0

您尚未使用任何形狀進行填充。你需要補充一點。我想你試圖填滿整個畫布。這會爲你工作then.Try此:

var can=document.getElementById("myCanvas"); 
var hdc=can.getContext("2d"); 
hdc.strokeStyle = 'red'; 
hdc.lineWidth = 2; 
hdc.fillStyle="#FF0000"; 
hdc.fillRect(0,0,can.width,can.height); 

Working Fiddle

+0

我修改了我的代碼,但沒有更改。請現在看看 – Bharathi

+0

@ user2990596:如果您可以創建相同的小提琴,那將會很棒。 –