在Node.js中,我想压缩从原始RGBA像素值数组中保存PNG图像文件。
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
}
如何将其转换为磁盘上的PNG图像文件?
答案 0 :(得分:2)
例如使用jimp:
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')