2017-02-17 7 views
1

私はpngイメージを読み込み、そのピクセルの一部の色を(32ビットRGBA形式で)取得したいと思います。私はたくさんの検索をしましたが、このための良い解決策は見つかりませんでした。SDL2を使用してピクセルの色を読み取る方法は?

私が見つけたのは、SDL_LockTextureを使ったピクセル操作です。しかし、イメージを変更したくないだけで、ピクセルの一部を読み込むだけです。

+0

SDLの理由は何ですか? –

答えて

1

あなたはそれを指定していないので、私はSDL_imageを使って画像を読み込んでいると仮定します。したがって、IMG_Loadは議論の良い候補者です。
リンクからわかるように、SDL_Surfaceを返します(テクスチャに変換したいが、ピクセルを読むためにはそうする必要はありません)。

* SDL_LockSurface:あなたが使用することができ、そのようなオブジェクトに
直接ピクセルにアクセスするための表面をセットアップする

この機能を使用。 * SDL_UnlockSurface

:直接ピクセルにアクセスした後、表面を解放する

この機能を使用。

ドキュメントも状態すなわち:SDL_LockSurface()/ SDL_UnlockSurface()の呼び出しの間

は、表面 - >に格納されたピクセルフォーマットを使用して、への書き込み及び表面 - >画素から読み取ることができますフォーマット。

ピクセルとフォーマットは自由に使用できます。それはあなたが求めていることをする良い候補のように見えます。 IMG_LoadPNG_RWSDL_SurfaceなどIMG_Loadを返すこと


しかし...

私は、PNG画像をロードしたいと思います[...]

注意。

関連する問題