Skip to content Skip to sidebar Skip to footer

How Do I Convert Rgba Raw Buffer To Png File In Javascript?

In Node.js I would like to compress a save a PNG image file from an array of raw RGBA pixel values. for (var x = 0; x < pixelSize; x++) for (var y = 0; y < pixelSize;

Solution 1:

Use jimp for example:

var Jimp = require('jimp')

const pixelSize = 256
var image = new Jimp(pixelSize, pixelSize, function (err, image) {
  let buffer = image.bitmap.data
  for (var x = 0; x < pixelSize; x++) {
    for (var y = 0; y < pixelSize; y++) {
      const offset = (y * pixelSize + x) * 4 // RGBA = 4 bytes
      buffer[offset    ] = x    // R
      buffer[offset + 1] = y    // G
      buffer[offset + 2] = 0    // B
      buffer[offset + 3] = 255  // Alpha
    }
  }
  image.write('image.png')
})

Post a Comment for "How Do I Convert Rgba Raw Buffer To Png File In Javascript?"