gpt4 book ai didi

c - 如何在 C 和 SDL 中拉伸(stretch)位图?

转载 作者:行者123 更新时间:2023-11-30 18:14:40 25 4
gpt4 key购买 nike

我正在为我的 CS 课制作一个游戏,但我在网上找到的 Sprite 太小了。如何使用 SDL“拉伸(stretch)”位图...使其变大? (我需要将其大小增加 50%,所有大小都相同。)示例代码片段将不胜感激。

最佳答案

这个问题没有指定 SDL 版本,即使在编写问题时 SDL2 不可用,我相信 SDL2 答案会在这里增加完整性。

与 SDL1.2 不同,在 SDL2 中可以使用 API 方法 SDL_RenderCopyEx 进行缩放。除了基本的 SDL2 库之外,不需要其他库。

int SDL_RenderCopyEx(SDL_Renderer*          renderer,
SDL_Texture* texture,
const SDL_Rect* srcrect,
const SDL_Rect* dstrect,
const double angle,
const SDL_Point* center,
const SDL_RendererFlip flip)

通过设置dstrect的大小,可以将纹理缩放到整数像素。还可以同时旋转和翻转纹理。

引用:https://wiki.libsdl.org/SDL_RenderCopyEx

照常创建纹理:

surface = IMG_Load(filePath);
texture = SDL_CreateTextureFromSurface(renderer, surface);

当需要渲染它时,调用 SDL_RenderCopyEx 而不是 SDL_RenderCopy

关于c - 如何在 C 和 SDL 中拉伸(stretch)位图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2395359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com