/** * Module dependencies. */ var Canvas = require('../lib/canvas') , canvas = new Canvas(200, 200) , ctx = canvas.getContext('2d') , fs = require('fs'); ctx.globalAlpha = .2; ctx.strokeRect(0,0,200,200); ctx.lineTo(0,100); ctx.lineTo(200,100); ctx.stroke(); ctx.beginPath(); ctx.lineTo(100,0); ctx.lineTo(100,200); ctx.stroke(); ctx.globalAlpha = 1; ctx.font = 'normal 40px Impact, serif'; ctx.rotate(.5); ctx.translate(20,-40); ctx.lineWidth = 1; ctx.strokeStyle = '#ddd'; ctx.strokeText("Wahoo", 50, 100); ctx.fillStyle = '#000'; ctx.fillText("Wahoo", 49, 99); var m = ctx.measureText("Wahoo"); ctx.strokeStyle = '#f00'; ctx.strokeRect(49 + m.actualBoundingBoxLeft, 99 - m.actualBoundingBoxAscent, m.actualBoundingBoxRight - m.actualBoundingBoxLeft, m.actualBoundingBoxAscent + m.actualBoundingBoxDescent); var out = fs.createWriteStream(__dirname + '/text.png') , stream = canvas.createPNGStream(); stream.on('data', function(chunk){ out.write(chunk); });