我一直在用SDL開發一段時間, ,但我認爲我需要另一個挑戰。 所以我決定用SDL_TTF在屏幕上畫一些文字。SDL_TTF在錯誤的地方渲染
我嘗試在0,0處渲染文本,但它略低於屏幕邊界。 這意味着它不會在0,0處完全渲染。
此代碼僅用於測試目的。
這是我當時的測試使用的代碼:
#include <SDL.h>
#include <SDL_ttf.h>
#include <iostream>
int main(int argc, char* args[])
{
SDL_Texture* tex;
SDL_Init(SDL_INIT_EVERYTHING);
SDL_Window *win = SDL_CreateWindow("Font drawing test", 100, 100, 640, 480, SDL_WINDOW_SHOWN);
SDL_Renderer *ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
TTF_Init();
while (true)
{
SDL_RenderClear(ren);
TTF_Font* font = TTF_OpenFont("./Resources/test.ttf", 72);
SDL_Surface *surf = TTF_RenderText_Blended(font, "Test", SDL_Color{ 255, 255, 255, 255 });
tex = SDL_CreateTextureFromSurface(ren, surf);
SDL_RenderCopy(ren, tex, NULL, new SDL_Rect{ 0, 0, 100, 100 });
SDL_RenderPresent(ren);
SDL_DestroyTexture(tex);
SDL_FreeSurface(surf);
TTF_CloseFont(font);
}
SDL_DestroyTexture(tex);
SDL_DestroyRenderer(ren);
SDL_DestroyWindow(win);
SDL_Quit();
return 0;
}
,這是它的外觀在屏幕上:
我怎樣才能解決這個問題呢?
馬爾科