Jak mogę skalować ikonki w SDL?Skalowanie ikonki w SDL
Odpowiedz
SDL nie zapewnia funkcji skalowania bezpośrednio, ale jest an additional library called SDL_gfx, który zapewnia możliwości obracania i powiększania. Jest też another library called Sprig, który zapewnia podobne funkcje.
Zamiast tego uzyskuje się bardzo podobny zestaw funkcji międzyplatformowych, ale grafika jest przyspieszana sprzętowo, a funkcje takie jak skalowanie i obracanie są bezpłatne, zarówno pod nie ma zauważalnego czasu procesora do działania.
nie dostarczyły żadnego kodu, więc mam zamiar założyć używasz tekstur i SDL_Renderer:
Podczas korzystania SDL_RenderCopy() tekstury będą rozciągane docelowy SDL_Rect, więc jeśli spraw, aby cel SDL_Rect był większy lub mniejszy, możesz wykonać proste skalowanie tekstury.
Można zrobić skalowanie jeśli otrzymujesz ikonek z teksturą z SDL_RenderCopy(), ale nie może zagwarantować antyaliasing.
Z funkcją SDL_RenderCopy() przechodzą 4 params:
- wskaźnik do renderowania (dokąd idziesz do renderize).
- Wskaźnik do tekstury (gdzie chcesz uzyskać ikonkę).
- Wskaźnik do źródła rect (obszar i pozycja, w której znajduje się ikonka na fakturze).
- i wskaźnik do dest rect (obszar i położenie renderera, który zamierzasz narysować).
Należy zmodyfikować tylko swoją dest rect jak na przykład, jeśli masz zamiar przeniesienia obrazu 300 x 300 i chcesz go skalować, Twój docelowy rect powinno być jak 150 x 150 lub 72 x 72 lub dowolnej wartości chciałeś skalować.