<html>
<head>
<script type="application/x-javascript">
function createImage() {
var image = document.createElement('canvas');
image.height = 2;
image.width = 2;
// We use this to colour the individual pixels
var dotter = image.getContext('2d').createImageData(1, 1);
// Colour the black pixesl.
dotter.data[0] = 0;
dotter.data[1] = 0;
dotter.data[2] = 0;
dotter.data[3] = 255;
image.getContext('2d').putImageData(dotter, 0, 0);
image.getContext('2d').putImageData(dotter, 1, 1);
// Colour the white pixels.
dotter.data[0] = 255;
dotter.data[1] = 255;
dotter.data[2] = 255;
dotter.data[3] = 255;
image.getContext('2d').putImageData(dotter, 1, 0);
image.getContext('2d').putImageData(dotter, 0, 1);
return image;
}
function drawFillRect(canvas, image, smoothing) {
var ctx = canvas.getContext('2d');
var pattern = ctx.createPattern(image, "repeat");
ctx.fillStyle = pattern;
ctx.imageSmoothingEnabled = smoothing;
ctx.scale(10, 10);
ctx.fillRect(0, 0, canvas.width, canvas.height);
}
function drawFill(canvas, image, smoothing) {
var ctx = canvas.getContext('2d');
var pattern = ctx.createPattern(image, "repeat");
ctx.fillStyle = pattern;
ctx.imageSmoothingEnabled = smoothing;
ctx.scale(10, 10);
ctx.beginPath();
ctx.moveTo(0,0);
ctx.lineTo(10, 10);
ctx.lineTo(0, 10);
ctx.fill();
}
function drawStroke(canvas, image, smoothing) {
var ctx = canvas.getContext('2d');
var pattern = ctx.createPattern(image, "repeat");
ctx.strokeStyle = pattern;
ctx.lineWidth = 5;
ctx.imageSmoothingEnabled = smoothing;
ctx.scale(10, 10);
ctx.beginPath();
ctx.moveTo(0,0);
ctx.lineTo(10, 10);
ctx.stroke();
}
function draw() {
var image = createImage();
drawFillRect(document.getElementById('unsmoothedFillRect'), image,
false);
drawFillRect(document.getElementById('smoothedFillRect'), image,
true);
drawFill(document.getElementById('unsmoothedFill'), image,
false);
drawFill(document.getElementById('smoothedFill'), image,
true);
drawStroke(document.getElementById('unsmoothedStroke'), image,
false);
drawStroke(document.getElementById('smoothedStroke'), image,
true);
}
</script>
</head>
<body onload="draw()">
<div>
<canvas id="unsmoothedFillRect" width="100" height="100"></canvas>
<canvas id="smoothedFillRect" width = "100" height="100"></canvas>
</div>
<div>
<canvas id="unsmoothedFill" width="100" height="100"></canvas>
<canvas id="smoothedFill" width = "100" height="100"></canvas>
</div>
<div>
<canvas id="unsmoothedStroke" width="100" height="100"></canvas>
<canvas id="smoothedStroke" width = "100" height="100"></canvas>
</div>
</body>
</html>