将创建的图像保存到文件系统python和pyGame

2022-02-22 00:00:00 python pygame image

问题描述

我正在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")

相关文章