如何使用 stbi 保存每像素 1 位的 png?

问题描述

我花了很长时间为 C++ 学生设计简单的位图问题。问题是那些不容易使用的库。 stbi,一个仅包含的库完全解决了这个问题,现在学生可以轻松加载和保存图像,让我可以专注于解决在位图类中创建各种图像的问题,然后通过简单的调用将其写出来。>

https://github.com/nothings/stb

但是,我想为涉及 ARM 汇编程序的微处理器类做同样的事情,我想要一个每像素位图,最好是 png。我找不到写出这种类型的 png 的示例。有谁知道怎么做,最好使用 stbi 或使用其他库在 windows、mac 和 linux 之间简单便携?

以下将针对每像素 4 个字节的 png 执行此操作。我想要每像素 1 位。

stbi_write_png("testpng_4.png",width,height,CHANNEL_NUM,pixels,width*CHANNEL_NUM);

或者,我发现在 libpng++ 中有一个比 libpng 更简洁的 API。

constexpr int W = 128,H = 128;
png::image< png::index_pixel > image(W,H);
png::palette pal(2);
pal[0] = png::color(0,0);
pal[1] = png::color(255,0);
image.set_palette(pal);

谁能告诉我如何获取图像的地址以处理原始位? C++ API 提供方括号,我挖了一些,但找不到任何可以获取地址内容

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)