2

我将地形数据存储为 16 位 png 文件。我想应用一个颜色表,将高度映射到要在地图上绘制的颜色。(是的,我意识到该表将有 65536 个条目)。

Android 是否支持此功能,或者我是否必须在加载数据时将数据转换为 RGB?或者找到适用于 Android 的 libpng 版本?还是自己建?

编辑:正确;png 文件中没有颜色表;我在加载图像时在软件中生成它。

我想表达我的问题的更好方法是:有没有办法通过查找表映射 16 位整数的位图以生成新的 RGB 位图?还是我需要自己动手?

4

1 回答 1

1

没有 16 位索引 PNG 格式,因此我想您要做的是加载 16 位灰度 PNG 并使用 64Kb 颜色表以伪彩色显示它。这实际上意味着您需要进行 16 位灰度到 24 位 RGB 的转换(或者可能是RGB_565)。这与 PNG 关系不大,因此“为 Android 找到一个 libpng 版本”并没有多大帮助,您仍然需要自己进行转换(在 PNG 解码之后)。如果您担心转换浪费更少的内存,我建议您看看我的PNGJ库。

于 2012-10-17T20:44:11.593 回答