pysdl2 - PySDL2 LockTexture 和修改像素
问题描述
我找不到任何在 PySDL2 中锁定纹理和修改像素的有价值的例子
这是我的代码:
def run():
sdl2.ext.init()
window = SDL_CreateWindow(b"test" sdl2.SDL_WINDOWPOS_CENTERED, sdl2.SDL_WINDOWPOS_CENTERED, 1024, 768, sdl2.SDL_WINDOW_SHOWN)
renderer = SDL_CreateRenderer(window, -1, sdl2.SDL_RENDERER_ACCELERATED)
texture = SDL_CreateTexture(renderer, sdl2.SDL_PIXELFORMAT_RGB888, sdl2.SDL_TEXTUREACCESS_STREAMING, 1024, 768)
surface = SDL_CreateRGBSurface(0, 128, 128, 32, 0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000)
running = True
while running:
events = sdl2.ext.get_events()
for event in events:
if event.type == sdl2.SDL_QUIT or event.type == sdl2.SDL_MOUSEBUTTONDOWN:
running = False
break
sdl2.SDL_LockTexture(texture, None, ctypes.byref(ctypes.c_void_p(surface.contents.pixels)), ctypes.byref(ctypes.c_int(surface.contents.pitch)))
#
# How to change the pixels ???
# surface.contents.pixels[0][0] = Color(0, 255, 255)
sdl2.SDL_UnlockTexture(texture)
# window.refresh()
sdl2.SDL_RenderPresent(renderer)
return 0
如何改变像素surface.contents.pixels
?
谢谢 !
解决方案
推荐阅读
- selenium - Firefox 浏览器在未打开指定 URL 的情况下关闭
- r - dplyr:如果多行在列中具有相同的值,则按条件选择行
- php - PHP PDO 选择查询缺少初始空格字符
- html - 将预加载器添加到 rmarkdown HTML 输出 [flexdashboard]
- php - 按 slug 顺序返回自定义分类
- algorithm - 条件变化时嵌套的时间复杂度
- azure - Bot Framework SDK4 - 'deploy.cmd' 未被识别为内部或外部命令、可运行程序或批处理文件
- mysql - 在 MySQL 中将数据从行转置到列(没有任何聚合)
- html - 如何将嵌入的图像放在文本块的宽度内
- protractor - Serenity-JS,步进函数超时