Skip to content

Instantly share code, notes, and snippets.

@razchiriac
Last active February 21, 2017 07:24
Show Gist options
  • Save razchiriac/0f399b18dc2810b425826ed110dc5930 to your computer and use it in GitHub Desktop.
Save razchiriac/0f399b18dc2810b425826ed110dc5930 to your computer and use it in GitHub Desktop.
JS Bin// source https://jsbin.com/fihesu
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<title>Canvas draw grid</title>
<style id="jsbin-css">
body {
background: lightblue;
}
canvas {
background: #fff;
margin: 20px;
}
</style>
</head>
<body>
<script id="jsbin-javascript">
//grid width and height
var bw = 400;
var bh = 400;
//padding around grid
var p = 10;
//size of canvas
var cw = bw + (p*2) + 1;
var ch = bh + (p*2) + 1;
var canvas = $('<canvas/>').attr({width: cw, height: ch}).appendTo('body');
var context = canvas.get(0).getContext("2d");
function drawBoard(){
for (var x = 0; x <= bw; x += 40) {
context.moveTo(0.5 + x + p, p);
context.lineTo(0.5 + x + p, bh + p);
}
for (var x = 0; x <= bh; x += 40) {
context.moveTo(p, 0.5 + x + p);
context.lineTo(bw + p, 0.5 + x + p);
}
context.strokeStyle = "black";
context.stroke();
}
fillPixel = (x,y) => {
context.fillStyle = 'rgba(255, 165, 0, 0.35)';
var cellSize = bw / 10;
var xs = p + cellSize*x;
var ys = p + cellSize*y;
context.fillRect(xs, ys, cellSize, cellSize);
}
clearPixel = (x,y) => {
context.fillStyle = 'rgba(0, 0, 0, 0)';
var cellSize = bw / 10;
var xs = p + cellSize*x;
var ys = p + cellSize*y;
context.clearRect(xs, ys, cellSize, cellSize);
}
drawBoard();
drawNum = (x,y,num) => {
var cellSize = bw / 10;
var xs = p + cellSize*y + cellSize/2 - 5;
var ys = p + cellSize*x + cellSize/2 + 7;
context.font = '20px sans-serif';
context.fillText(num, xs, ys);
}
fillGrid = (g) => {
var j, k;
for (j = 0; j < g.length; j++) {
for (k = 0; k < g[0].length; k++) {
drawNum(j,k,g[j][k])
}
}
}
var grid = [[1, 1, 1, 1, 1, 1],
[1, 5, 2, 1, 1, 1],
[0,-2, 3, 1, 1, 1],
[1, 2, 4, 1, 1, 1]];
fillGrid(grid);
fillPixel(0,0);
</script>
<script id="jsbin-source-css" type="text/css">body {
background: lightblue;
}
canvas {
background: #fff;
margin: 20px;
}
</script>
<script id="jsbin-source-javascript" type="text/javascript">//grid width and height
var bw = 400;
var bh = 400;
//padding around grid
var p = 10;
//size of canvas
var cw = bw + (p*2) + 1;
var ch = bh + (p*2) + 1;
var canvas = $('<canvas/>').attr({width: cw, height: ch}).appendTo('body');
var context = canvas.get(0).getContext("2d");
function drawBoard(){
for (var x = 0; x <= bw; x += 40) {
context.moveTo(0.5 + x + p, p);
context.lineTo(0.5 + x + p, bh + p);
}
for (var x = 0; x <= bh; x += 40) {
context.moveTo(p, 0.5 + x + p);
context.lineTo(bw + p, 0.5 + x + p);
}
context.strokeStyle = "black";
context.stroke();
}
fillPixel = (x,y) => {
context.fillStyle = 'rgba(255, 165, 0, 0.35)';
var cellSize = bw / 10;
var xs = p + cellSize*x;
var ys = p + cellSize*y;
context.fillRect(xs, ys, cellSize, cellSize);
}
clearPixel = (x,y) => {
context.fillStyle = 'rgba(0, 0, 0, 0)';
var cellSize = bw / 10;
var xs = p + cellSize*x;
var ys = p + cellSize*y;
context.clearRect(xs, ys, cellSize, cellSize);
}
drawBoard();
drawNum = (x,y,num) => {
var cellSize = bw / 10;
var xs = p + cellSize*y + cellSize/2 - 5;
var ys = p + cellSize*x + cellSize/2 + 7;
context.font = '20px sans-serif';
context.fillText(num, xs, ys);
}
fillGrid = (g) => {
var j, k;
for (j = 0; j < g.length; j++) {
for (k = 0; k < g[0].length; k++) {
drawNum(j,k,g[j][k])
}
}
}
var grid = [[1, 1, 1, 1, 1, 1],
[1, 5, 2, 1, 1, 1],
[0,-2, 3, 1, 1, 1],
[1, 2, 4, 1, 1, 1]];
fillGrid(grid);
fillPixel(0,0);
</script></body>
</html>
body {
background: lightblue;
}
canvas {
background: #fff;
margin: 20px;
}
//grid width and height
var bw = 400;
var bh = 400;
//padding around grid
var p = 10;
//size of canvas
var cw = bw + (p*2) + 1;
var ch = bh + (p*2) + 1;
var canvas = $('<canvas/>').attr({width: cw, height: ch}).appendTo('body');
var context = canvas.get(0).getContext("2d");
function drawBoard(){
for (var x = 0; x <= bw; x += 40) {
context.moveTo(0.5 + x + p, p);
context.lineTo(0.5 + x + p, bh + p);
}
for (var x = 0; x <= bh; x += 40) {
context.moveTo(p, 0.5 + x + p);
context.lineTo(bw + p, 0.5 + x + p);
}
context.strokeStyle = "black";
context.stroke();
}
fillPixel = (x,y) => {
context.fillStyle = 'rgba(255, 165, 0, 0.35)';
var cellSize = bw / 10;
var xs = p + cellSize*x;
var ys = p + cellSize*y;
context.fillRect(xs, ys, cellSize, cellSize);
}
clearPixel = (x,y) => {
context.fillStyle = 'rgba(0, 0, 0, 0)';
var cellSize = bw / 10;
var xs = p + cellSize*x;
var ys = p + cellSize*y;
context.clearRect(xs, ys, cellSize, cellSize);
}
drawBoard();
drawNum = (x,y,num) => {
var cellSize = bw / 10;
var xs = p + cellSize*y + cellSize/2 - 5;
var ys = p + cellSize*x + cellSize/2 + 7;
context.font = '20px sans-serif';
context.fillText(num, xs, ys);
}
fillGrid = (g) => {
var j, k;
for (j = 0; j < g.length; j++) {
for (k = 0; k < g[0].length; k++) {
drawNum(j,k,g[j][k])
}
}
}
var grid = [[1, 1, 1, 1, 1, 1],
[1, 5, 2, 1, 1, 1],
[0,-2, 3, 1, 1, 1],
[1, 2, 4, 1, 1, 1]];
fillGrid(grid);
fillPixel(0,0);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment