Skip to content

Instantly share code, notes, and snippets.

@ndrut
ndrut / gist:4549230
Created January 16, 2013 17:57
Render an image in base64 using phantom js. Convert the base64 into a raw binary buffer, pass the binary buffer to GraphicsMagic which can write to a writable stream, collect the chunks of data in separate buffers, storing them in an array and then concatenate them all together.
// PhantomJS Render to base64 function
page.renderBase64('png', function(err, img) {
var image = {};
image.thumb = [];
final.full = new Buffer(img, 'base64'); // Convert the base64 encoded value into binary.
var thumbStream = new stream.Stream(); // Create a new writable stream
thumbStream.writable = true;
thumbStream.write = function (chunk) {
image.thumb.push(chunk); // Take the data written and store it into an array