将创建的图像保存到文件系统python和pyGame
问题描述
我正在pygame
中开发一些软件,该软件允许用户使用不同的颜色、钢笔大小等在画布上绘制内容。问题是我不知道如何将他们绘制的内容保存为图像(例如PNG)。
我需要一种方法来框显图像在屏幕上的区域,并将其保存到设备的文件系统。有人知道我怎么做吗?
解决方案
PyGame display(窗口)与pygame.Surface对象相关联。使用pygame.image.save()
将表面(或屏幕)的内容存储到位图。文件类型由文件扩展名自动确定:
pygame.image.save(screen, "my_file.png")
如果您只想保存屏幕的一部分,可以使用subsurface
:
subsurface(Rect) -> Surface
返回一个新的Surface,该Surface与其新的父级共享其像素。新曲面被认为是原始曲面的子项。对任一表面像素的修改都将相互影响。
创建次曲面并将其保存到文件:
rect_area = pygame.Rect(x, y, width, height)
area_surf = screen.subsurface(rect_area)
pygame.image.save(area_surf, "my-file.png")
相关文章