【问题标题】:Save created image to file system python and pygame将创建的图像保存到文件系统 python 和 pygame
【发布时间】:2021-08-16 14:21:59
【问题描述】:

我正在pygame 开发一些软件,允许用户使用不同的颜色、笔大小等在画布上绘制东西。问题是我不知道如何将他们绘制的东西保存为图像(例如 png)。

我需要一种方法来框定屏幕上图像所在的区域并将其保存到设备的文件系统中。有谁知道我该怎么做?

【问题讨论】:

    标签: python image pygame


    【解决方案1】:

    PyGame 显示(窗口)与pygame.Surface 对象相关联。使用pygame.image.save()Surface(或屏幕)的内容存储到位图中。文件类型由文件扩展名自动确定:

    pygame.image.save(screen, "my_file.png")
    

    如果你只想保存屏幕的一部分,你可以定义一个直接链接到源表面的子表面,使用方法subsurface

    subsurface(Rect) -> Surface

    返回一个与其新父级共享其像素的新 Surface。新 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")
    

    【讨论】:

    • 太棒了,感谢您的帮助,现在添加一个撤消选项(我等不及了)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-12
    • 1970-01-01
    • 2021-04-05
    • 2013-08-19
    • 2017-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多