目次 - SDL 3.0 API(機能別) - 2Dレンダリング - SDL_RenderReadPixels

SDL_RenderReadPixels

現在のレンダーターゲットのピクセルデータを読み込む

ヘッダ

SDL3/SDL_render.h

構文

SDL_Surface * SDL_RenderReadPixels(SDL_Renderer *renderer, const SDL_Rect *rect);

引数

SDL_Renderer *rendererレンダリングコンテキスト
const SDL_Rect *rect読み込む領域のSDL_Rect. 表示領域内でクリップされる. NULLのとき表示領域全体

戻り値

(SDL_Surface *) 成功のとき生成されたサーフェイス, 失敗のときNULLを戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

戻されたサーフェイスのピクセルは表示領域でクリップされたものである. また, このサーフェイスはSDL_DestroySurface()で解放する必要がある.

戻されるのは画面の実際のピクセルで, 論理表示を使用している場合はSDL_GetRenderLogicalPresentationRect()で必要な領域を求める必要がある.

注意: この処理は非常に遅いため, 繰り返し使用するべきではない. レンダーターゲットがウィンドウの場合, レンダリングの後のSDL_RenderPresent()の前にこの関数を呼ぶ必要がある.

スレッドセーフ

この関数を呼べるのはメインスレッドのみである.

バージョン

SDL 3.2.0以降

SDL Wikiへのリンク

SDL_RenderReadPixels - SDL Wiki