以编程方式在Electron

时间:2018-06-24 21:50:15

标签: reactjs electron

我想从包含原始像素RGB值的JS数组创建图像(例如nativeImage)。

我试图创建一个nativeImage:

const buf = Buffer.from([[0, 0, 255], [0, 0, 0], [0, 255, 0], [255, 0, 0]]) const img = nativeImage.createFromBuffer(buf, {width: 2, height: 2}) ... <img width={16} height={16} src={img.toDataURL()} />

但是图像似乎总是变成黑色。

一些在线资源似乎表明createFromBuffer调用期望缓冲区包含PNG编码的数据(我不能从API引用中真正得知)。

是否可以直接从像素值转换为图像?

1 个答案:

答案 0 :(得分:0)

缓冲区也应包含Alpha值,而不仅仅是RGB(例如[A0,R0,G0,B0,A1,R1,G1,B1,...])。

例如:

const buf = Buffer.from([255,0,0,255, 0,255,0,255, 0,0,255,255, 0,0,0,255])
const img = nativeImage.createFromBuffer(buf, {width: 2, height: 2})

这将生成如下图像:

enter image description here