ttf_openfont函数说明
时间: 2024-02-11 10:05:42 浏览: 115
ttf_openfont函数是SDL_ttf库中的一个函数,用于打开和加载一个TrueType字体文件,返回一个TTF_Font结构体指针。函数原型如下:
```cpp
TTF_Font* TTF_OpenFont(const char* file, int ptsize);
```
其中,file是TrueType字体文件的路径,ptsize是字体的大小(以磅为单位)。
示例代码:
```cpp
#include <SDL2/SDL.h>
#include <SDL2/SDL_ttf.h>
int main(int argc, char* argv[]) {
SDL_Init(SDL_INIT_VIDEO);
TTF_Init();
SDL_Window* window = SDL_CreateWindow("SDL_ttf Test", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640, 480, SDL_WINDOW_SHOWN);
SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
TTF_Font* font = TTF_OpenFont("arial.ttf", 24);
if (font == nullptr) {
printf("TTF_OpenFont: %s\n", TTF_GetError());
return 1;
}
// 在屏幕上显示一段文字
SDL_Color color = {255, 255, 255, 255};
SDL_Surface* surface = TTF_RenderUTF8_Blended(font, "Hello, SDL_ttf!", color);
SDL_Texture* texture = SDL_CreateTextureFromSurface(renderer, surface);
SDL_FreeSurface(surface);
SDL_Rect dstrect = {100, 100, 0, 0};
SDL_QueryTexture(texture, nullptr, nullptr, &dstrect.w, &dstrect.h);
SDL_RenderCopy(renderer, texture, nullptr, &dstrect);
SDL_RenderPresent(renderer);
SDL_Delay(3000);
SDL_DestroyTexture(texture);
TTF_CloseFont(font);
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
TTF_Quit();
SDL_Quit();
return 0;
}
```
这是一个使用SDL_ttf库显示文字的示例代码,其中使用了TTF_OpenFont函数加载了一个TrueType字体文件。
阅读全文