python画的图怎么保存_python通过PyGame绘制图像并保存为图片文件的代码

把开发过程中常用的一些内容片段记录起来,下边内容是关于python通过PyGame绘制图像并保存为图片文件的内容,希望对大伙有较大好处。

''' pg_draw_circle_save101.py

draw a blue solid circle on a white background

save the drawing to an image file

tested with Python 2.7 and PyGame 1.9.2 by vegaseat 16may2013

'''

import pygame as pg

# pygame uses (r, g, b) color tuples

white = (255, 255, 255)

blue = (0, 0, 255)

width = 300

height = 300

# create the display window

win = pg.display.set_mode((width, height))

# optional title bar caption

pg.display.set_caption("Pygame draw circle and save")

# default background is black, so make it white

win.fill(white)

# draw a blue circle

# center coordinates (x, y)

radius = min(center)

# width of 0 (default) fills the circle

# otherwise it is thickness of outline

width = 0

# draw.circle(color, pos, radius, width)

pg.draw.circle(win, blue, center, radius, width)

# now save the drawing

# can save as .bmp .tga .png or .jpg

fname = "circle_blue.png"

pg.image.save(win, fname)

print("file {} has been saved".format(fname))

# update the display window to show the drawing

pg.display.flip()

# event loop and exit conditions

# (press escape key or click window title bar x to exit)

while True:

for event in pg.event.get():

if event.type == pg.QUIT:

# most reliable exit on x click

pg.quit()

raise SystemExit

elif event.type == pg.KEYDOWN:

# optional exit with escape key

if event.key == pg.K_ESCAPE:

pg.quit()

raise SystemExit

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 Python 代码,可以用来绘制静态烟花: ```python import turtle import random turtle.speed(0) turtle.hideturtle() for i in range(50): turtle.penup() x = random.randint(-200, 200) y = random.randint(-200, 200) turtle.goto(x, y) turtle.pendown() turtle.dot(random.randint(10, 50), random.choice(["red", "orange", "yellow", "green", "blue", "purple", "pink"])) turtle.done() ``` 这段代码使用了 turtle 模块来绘制烟花,通过循环随机生成烟花的坐标和大小,然后随机选择颜色进行绘制。 如果你想要绘制动态烟花,可以使用 Pygame 或者 Turtle 的 tracer() 方法来实现。以下是一个使用 Pygame 的例子: ```python import pygame import random pygame.init() screen_width = 500 screen_height = 500 screen = pygame.display.set_mode((screen_width, screen_height)) clock = pygame.time.Clock() class Particle: def __init__(self, x, y, size, color, speed): self.x = x self.y = y self.size = size self.color = color self.speed = speed self.angle = random.uniform(0, 2 * math.pi) self.vx = self.speed * math.cos(self.angle) self.vy = -self.speed * math.sin(self.angle) self.gravity = 0.2 def move(self): self.x += self.vx self.y += self.vy self.vy += self.gravity def draw(self): pygame.draw.circle(screen, self.color, (int(self.x), int(self.y)), self.size) particles = [] while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() exit() if random.random() < 0.2: x = random.randint(100, screen_width - 100) y = random.randint(100, screen_height - 100) size = random.randint(5, 20) color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)) speed = random.uniform(1, 5) particle = Particle(x, y, size, color, speed) particles.append(particle) for particle in particles: particle.move() particle.draw() pygame.display.update() screen.fill((0, 0, 0)) clock.tick(60) ``` 这段代码使用了 Pygame 来创建窗口,并且定义了一个 Particle 类来表示烟花粒子。在主循环中,每隔一段时间就会生成一个新的烟花粒子,并且将它们添加到一个列表中。然后,在每一帧中,对列表中的所有粒子进行移动和绘制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值