2

地形データを 16 ビットの png ファイルとして保存しています。高さをマップに描画する色にマッピングするカラーテーブルを適用したいと思います。(はい、テーブルには 65536 のエントリがあることを認識しています)。

これは Android でサポートされていますか、それともロード時にデータを RGB に変換する必要がありますか? または、Android 用の libpng のバージョンを見つけますか? それとも自作?

編集:正しい。png ファイルにはカラー テーブルがありません。画像をロードするときにソフトウェアで生成しています。

新しい RGB ビットマップを生成するために、ルックアップ テーブルを介して 16 ビット整数のビットマップをマップする方法はありますか? それとも自分で巻く必要がありますか?

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 に答える