将一组颜色数据保存为DS上的PNG文件

Saving an array of colour data as a PNG file on DS

本文关键字:保存 DS 上的 文件 PNG 数据 颜色 一组      更新时间:2023-10-16

我正在寻找一个库来将颜色数据数组保存到PNG文件中。(这就是它的全部内容,对吧?我对PNG的内部结构知之甚少。)

这是在任天堂DS开发中使用的,所以轻量级的东西更可取。我不需要任何其他花哨的功能,比如旋转等。

要对任何类型的PNG文件进行编码,libpng就是一种方法。

然而,在像DS这样的小型设备上,您确实希望以显示硬件所期望的格式存储图像数据。从技术上讲,让libpng在平台上工作是可能的,但这将增加大量的开销,包括加载时间和占用空间。

你看过libpng吗?http://www.libpng.org/pub/png/libpng.html

我不确定内存占用是否可以接受,但您可能应该意识到,PNG文件不仅仅是一组颜色。性能可能是DS上的一个问题。

如果你使用libpng,你也需要zlib,如果你使用DevKitPro,你可能会遇到一些缺失的函数(因为玩了5分钟的代码,它看起来依赖于pow(),而pow似乎不在libnds中。)我不知道任天堂官方SDK以标准库的方式提供了什么——如果你使用的是标准库,你的状态可能会更好。

我设法找到了一个支持PNG(使用libpng)的库,并允许您只向它提供原始图像数据。

它被称为LibPicture。不过它有点重:大约1MB。