Программно создавая образ в Electron - PullRequest
0 голосов
/ 25 июня 2018

Я хотел бы создать изображение (скажем, nativeImage ) из массива JS, содержащего необработанные пиксельные значения RGB.

Я пытался создать 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 голосов
/ 25 июня 2018

Буфер также должен содержать значения альфа-значений, а не только 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...