目次 - 3.関数 - 3.4レンダラー - TTF_RenderUTF8_Shaded

# TTF_RenderUTF8_Shaded

`SDL_Surface *TTF_RenderUTF8_Shaded(TTF_Font *font, const char *text, SDL_Color fg, SDL_Color bg)`

font
  テキストをレンダリングするフォント
text
  レンダリングするNUL終端のUTF-8文字列
fg
  レンダリングするテキストの色. これがカラーマップの1番目になる
bg
  テキストを囲む背景の色. これがカラーマップの0番目になる

UTF-8でエンコードされたtextを, fontと前景色fg, 背景色gbで, 新しく生成したサーフェイスに陰影(Shaded)モードでレンダリングする. 呼び出し側(あなたのことだ!)が戻されたサーフェイスを解放しなければならない.

メモ: この関数のfontにNULLを渡すと異常終了する.

メモ: この関数のtextにNULLを渡した場合の動作は未定義である.

戻り値: 生成されたSDL_Surface. 失敗のときNULL

## サンプルコード

ASCIIはUTF8と互換性があるので, このサンプルではLATIN1と同じテキストを使っている. `

    // UTF8テキストを白の背景に黒でブレンドして新しいサーフェイスにレンダリングする
    // そしてそれを画面の左上にコピーする
    // そしてテキストのサーフェイスを解放する
    //SDL_Surface *screen;
    SDL_Color color={0,0,0}, bgcolor={0xff,0xff,0xff};
    SDL_Surface *text_surface;
    if(!(text_surface=TTF_RenderUTF8_Shaded(font,"Hello World!",color,bgcolor))) {
        // ここでエラーを処理する. 少なくともTTF_GetErrorを表示したほうがよい
    } else {
        SDL_BlitSurface(text_surface,NULL,screen,NULL);
        // これは再利用できる. しかしここでは単純化のためにそうしない
        SDL_FreeSurface(text_surface);
    }

`

## 参照

TTF_SizeUTF8, TTF_RenderText_Shaded, TTF_RenderUNICODE_Shaded, TTF_RenderGlyph_Shaded, TTF_RenderUTF8_Solid, TTF_RenderUTF8_Blended

## 原文へのリンク

3.4.6 TTF_RenderUTF8_Shaded