Используя библиотеку изображений stb , как преобразовать массив байтов angular прямоугольного типа, каждый элемент которого имеет значение 0 или 1, в одноцветное изображение png, где 1 представляют цветные пиксели , используя вызов функции stbi_image_write? Вот код, который у нас есть:
using namespace std;
#define STB_IMAGE_IMPLEMENTATION
#include "stb/stb_image.h"
#define STB_IMAGE_WRITE_IMPLEMENTATION
#include "stb/stb_image_write.h"
/* ... */
const uint32_t BITMAP_SIZE = height * width;
uint8_t* bitmap = new uint8_t[BITMAP_SIZE];
for (int i = 0; i < BITMAP_SIZE; i++) // clear the bitmap
bitmap[0] = 0;
/* write 1s to some elements of bitmap */
constexpr int CHANNELS = 4; // indexed (really 1 or 0)
string filename = "my_image.png";
stbi_write_png(/* what parameters should be passed here? */);
delete [] bitmap;
Как правильно передать параметры в stbi_write_png для получения желаемого результата, описанного выше?