c - 使用 TextureLock SDL2 在纹理中复制曲面
问题描述
嗨,我想在纹理中复制一个表面,这样做:
void copy_surface_in_texture(SDL_Texture *dst, SDL_Surface *src, int x, int y)
{
int *pixels;
int pitch;
SDL_TextureLock(dst, &(SDL_Rect){x, y, src->w, src->h}, (void **)&pixels, &pitch);
SDL_SurfaceLock(src);
memcpy(pixels, src->pixels, pitch * src->h);
SDL_SurfaceUnlock(src);
SDL_TextureUnlock(dst);
}
但这仅在src
具有与 相同的尺寸时才有效dst
,当src
比dst
我获得的失真多时src
。我的代码有什么问题?
PD:我知道我可以使用SDL_CreateTextureFromSurface
,但我需要通过像素操作来执行复制
解决方案
推荐阅读
- python - 在模板中显示“python manage.py test”的结果
- c# - 我怎样才能使这个多态演示编译?
- android-studio - 自定义视图不会在 Android Studio 的设计视图中呈现?
- angular - 天蓝色广告角度教程
- javascript - 表格中的滑动切换冲突
- python - 给定 2 个字符串 str 和 word,你必须找到从给定字符串中可以组成多少个单词
- pandas - 带有 Pandas 和 BeautifulSoup Scraper 的新复制行
- datasource - 无法加载驱动程序:用于 Weblogic12c 的 impala-2.6.15.1017
- reactjs - 如何从函数访问状态
- php - PHP max_execution_time 对性能的影响