私はpngイメージを読み込み、そのピクセルの一部の色を(32ビットRGBA形式で)取得したいと思います。私はたくさんの検索をしましたが、このための良い解決策は見つかりませんでした。SDL2を使用してピクセルの色を読み取る方法は?
私が見つけたのは、SDL_LockTexture
を使ったピクセル操作です。しかし、イメージを変更したくないだけで、ピクセルの一部を読み込むだけです。
私はpngイメージを読み込み、そのピクセルの一部の色を(32ビットRGBA形式で)取得したいと思います。私はたくさんの検索をしましたが、このための良い解決策は見つかりませんでした。SDL2を使用してピクセルの色を読み取る方法は?
私が見つけたのは、SDL_LockTexture
を使ったピクセル操作です。しかし、イメージを変更したくないだけで、ピクセルの一部を読み込むだけです。
あなたはそれを指定していないので、私はSDL_image
を使って画像を読み込んでいると仮定します。したがって、IMG_Load
は議論の良い候補者です。
リンクからわかるように、SDL_Surface
を返します(テクスチャに変換したいが、ピクセルを読むためにはそうする必要はありません)。
* SDL_LockSurface
:あなたが使用することができ、そのようなオブジェクトに
直接ピクセルにアクセスするための表面をセットアップする
この機能を使用。 *
SDL_UnlockSurface
:直接ピクセルにアクセスした後、表面を解放する
この機能を使用。
ドキュメントも状態すなわち:SDL_LockSurface()/ SDL_UnlockSurface()の呼び出しの間
は、表面 - >に格納されたピクセルフォーマットを使用して、への書き込み及び表面 - >画素から読み取ることができますフォーマット。
ピクセルとフォーマットは自由に使用できます。それはあなたが求めていることをする良い候補のように見えます。 IMG_LoadPNG_RW
がSDL_Surface
などIMG_Load
を返すこと
しかし...
私は、PNG画像をロードしたいと思います[...]
注意。
SDLの理由は何ですか? –