2015-05-18 96 views
0

目前,我有這個自動添加像素時添加矩形以帆布

var x = 150; 
var o = 100; 
var canvas = $('#NodeList').get(0); 
var ctx = canvas.getContext('2d'); 

ctx.strokeStyle = "red"; 
canvas.height = 0; 

var rects = [ 
    [20, 20, x, o], 
    [20, 130, x, o], 
    [20, 240, x, o], 
    [20, 350, x, o], 
    [20, 460, x, o], 
    [20, 570, x, o], 
    [20, 680, x, o], 
    [20, 790, x, o], 
    [20, 900, x, o] 
]; 

,你可以看到我有手動添加每一個矩形。

我想通過使用jQuery函數drawRect()自動添加每個矩形添加的70個像素。

我已經試過這到目前爲止Jcanvas

我的原因是我想通過單擊矩形在這個「畫布」將數據加載到其他畫布。我認爲使用JQuery drawRect()而不是像以下那樣手動輸入它會更容易。由於矩形沒有任何ID。

我被卡住了,請你爲我清理一下東西?

+0

請簡化你的問題是相當困難的理解正是你想要的。你想在循環中創建數組還是什麼? – micnic

+0

@micnic我想要一個通過使用.drawRect() – Script

回答

0

你需要這樣的事,我從您的評論理解爲:

// Using Canvas API 
ctx.fillStyle = '#000000'; 

rects.forEach(function (rect) { 
    ctx.fillRect.apply(ctx, rect); 
}); 

// Using Jcanvas 
var canvas = $('#NodeList'); 

rects.forEach(function (rect) { 
    canvas.drawRect({ 
     fillStyle: '#000000', 
     x: rect[0], 
     y: rect[1], 
     width: rect[2], 
     height: rect[3] 
    }); 
}); 
+0

創建rects的jquery請問您可以展示一個工作小提琴 – Script

+0

試試這個:http://jsfiddle.net/mr39q8bh/ – micnic