初期化処理と終了処理

2021年8月30日

SDL_imageの初期化と終了をするには、「IMG_Init関数」と「IMG_Quit関数」を使用します。

IMG_Init関数

SDL_imageを初期化します。

宣言

int IMG_Init( int flags );

引数

flags扱う画像形式を表す各フラグの論理和です。この引数へ指定した値に応じた画像形式を利用可能にします。
各フラグはIMG_InitFlags型で定義されています。

戻り値

「利用可能にした画像形式を表すビットマスク」を返します。

IMG_Quit関数

SDL_imageを終了します。

宣言

void IMG_Quit();

サンプルプログラム

#include <SDL_image.h>

int main( int argc, char* argv[] )
{
    auto format_type_flags                  = IMG_INIT_JPG | IMG_INIT_PNG |IMG_INIT_TIF;
    auto bitmask_of_available_format_type   = IMG_Init( format_type_flags );
    auto is_completed                       = ( bitmask_of_available_format_type & format_type_flags ) == format_type_flags;

    if ( !is_completed )
    {
        SDL_Log( u8"SDL_imageの初期化処理に失敗しました。エラーメッセージ: %s", IMG_GetError() );
        return -1;
    }

    // SDL_imageを使用した処理

    IMG_Quit();

    return 0;
}

参考ページ