1

私が持っているPNG画像を取り込んで読み込んでから、PNG画像のデータを配列またはベクトル(または他のデータ構造)に保存して、実際にそれを自分のPNGなどを読み込む代わりにコード?

libPNG を使用して画像を読み取ることができることはわかっていますが、読み取った後、読み取ったものをゲームで使用できるデータ構造に変換する方法に少し困惑しています。

だから私の考えは、PNGのリストをフィードする簡単なコンソールプログラムを書くことができるということです.PNGのリストを読み込んで、実際のゲームのデータ構造にハードコードするためのデータをファイルに吐き出します.

4

2 に答える 2

1

Jasonが言ったようにデータを読み取った後、構造体を使用して各ピクセルのデータを含めることができます。

struct RGBAQUAD
{
     int Red;
     int Green;
     int Blue;
     int Alpha;
}

そして、そのような 2D 配列を作成して、すべてのピクセル構造体を 1 つの連続した画像として表すことができます。ただし、これの欠点は、メモリを管理する必要があることです。

RGBQUAD **arr = 0;
arr = new RGBQUAD *[y];
for(int i  = 0; i < y ; i++)
    arr[i] = new RGBQUAD[x];

あるいは、RAM スペースを節約するためにピクセルを単一の int にパックすることもできます。

于 2013-06-10T05:59:52.887 に答える