In der Sprache C können Sie Bilder über die SDL_image-Bibliothek anzeigen (Verwendungsmethode: IMG_Load(file), Datei ist der Bildpfad) und Text über die SDL_ttf-Bibliothek anzeigen (Verwendungsmethode: Schriftart laden TTF_OpenFont(file, ptsize), Rendertext TTF_RenderText_Solid( Schriftart, Text, Farbe), wobei Datei der Schriftartpfad, Ptgröße die Schriftgröße, Text der Textinhalt und Farbe die Textfarbe ist.
Bilder und Text in C-Sprache anzeigen
In C-Sprache können Sie Bibliotheksfunktionen verwenden, um Bilder und Text anzuzeigen. Im Folgenden wird die Verwendung im Detail beschrieben:
Bild anzeigen
Bibliotheksfunktion: SDL_Surface IMG_Load(const char file);
Funktion: Laden Sie das Bild aus der angegebenen Datei und geben Sie einen Zeiger auf die zurück SDL_Surface-Struktur.
Parameter:
<code class="c">#include <stdio.h> #include <SDL2/SDL.h> #include <SDL2/SDL_image.h> int main() { SDL_Window* window = NULL; SDL_Renderer* renderer = NULL; SDL_Surface* image = NULL; // 初始化 SDL if (SDL_Init(SDL_INIT_VIDEO) < 0) { printf("SDL could not be initialized! SDL Error: %s\n", SDL_GetError()); return 1; } // 创建窗口 window = SDL_CreateWindow("Image Display", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_SHOWN); if (window == NULL) { printf("Window could not be created! SDL Error: %s\n", SDL_GetError()); return 1; } // 创建渲染器 renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED); if (renderer == NULL) { printf("Renderer could not be created! SDL Error: %s\n", SDL_GetError()); return 1; } // 加载图像 image = IMG_Load("image.png"); if (image == NULL) { printf("Unable to load image! SDL_image Error: %s\n", IMG_GetError()); return 1; } // 渲染图像到窗口 SDL_Texture* texture = SDL_CreateTextureFromSurface(renderer, image); SDL_Rect dstrect = {0, 0, image->w, image->h}; SDL_RenderCopy(renderer, texture, NULL, &dstrect); // 更新窗口 SDL_RenderPresent(renderer); // 等待用户关闭窗口 SDL_Event e; while (SDL_WaitEvent(&e)) { if (e.type == SDL_QUIT) { break; } } // 释放资源 SDL_DestroyTexture(texture); SDL_FreeSurface(image); SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_Quit(); return 0; }</code>
Text anzeigen
Bibliotheksfunktion: TTF_FONT
TTF_openfont (const char file, int pTSize); R<code> SDL_Surface* TTF_RenderText_Solid(TTF_Font* font, const char* text, SDL_Color color);
</code>
Parameter:
Datei: Der Pfad zur zu ladenden Schriftartdatei.
ptsize: Schriftgröße in Punkt.<code class="c">#include <stdio.h> #include <SDL2/SDL.h> #include <SDL2/SDL_ttf.h> int main() { SDL_Window* window = NULL; SDL_Renderer* renderer = NULL; TTF_Font* font = NULL; SDL_Surface* text_surface = NULL; // 初始化 SDL 和 SDL_ttf if (SDL_Init(SDL_INIT_VIDEO) < 0) { printf("SDL could not be initialized! SDL Error: %s\n", SDL_GetError()); return 1; } if (TTF_Init() == -1) { printf("SDL_ttf could not be initialized! SDL_ttf Error: %s\n", TTF_GetError()); return 1; } // 创建窗口 window = SDL_CreateWindow("Text Display", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_SHOWN); if (window == NULL) { printf("Window could not be created! SDL Error: %s\n", SDL_GetError()); return 1; } // 创建渲染器 renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED); if (renderer == NULL) { printf("Renderer could not be created! SDL Error: %s\n", SDL_GetError()); return 1; } // 加载字体 font = TTF_OpenFont("font.ttf", 24); if (font == NULL) { printf("Font could not be loaded! SDL_ttf Error: %s\n", TTF_GetError()); return 1; } // 渲染文本 SDL_Color color = {255, 255, 255}; text_surface = TTF_RenderText_Solid(font, "Hello World!", color); if (text_surface == NULL) { printf("Text could not be rendered! SDL_ttf Error: %s\n", TTF_GetError()); return 1; } // 渲染文本到窗口 SDL_Texture* text_texture = SDL_CreateTextureFromSurface(renderer, text_surface); SDL_Rect dstrect = {0, 0, text_surface->w, text_surface->h}; SDL_RenderCopy(renderer, text_texture, NULL, &dstrect); // 更新窗口 SDL_RenderPresent(renderer); // 等待用户关闭窗口 SDL_Event e; while (SDL_WaitEvent(&e)) { if (e.type == SDL_QUIT) { break; } } // 释放资源 SDL_DestroyTexture(text_texture); SDL_FreeSurface(text_surface); TTF_CloseFont(font); TTF_Quit(); SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_Quit(); return 0; }</code>
Das obige ist der detaillierte Inhalt vonSo zeigen Sie Bilder und Text im C-Sprachcode an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!