python PIL模块生成随机图片
时间: 2023-07-04 13:09:20 浏览: 300
可以使用Python的Pillow模块来生成随机图片,以下是一个简单的示例代码:
```python
from PIL import Image, ImageDraw
import random
# 创建一个空白图像
img = Image.new('RGB', (500, 500), color='white')
draw = ImageDraw.Draw(img)
# 生成随机颜色
def random_color():
return (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
# 随机绘制矩形
for i in range(10):
x1 = random.randint(0, 400)
y1 = random.randint(0, 400)
x2 = random.randint(x1, 500)
y2 = random.randint(y1, 500)
draw.rectangle([x1, y1, x2, y2], fill=random_color())
# 保存图像
img.save('random_image.png')
```
这个示例代码会生成一个500x500像素的空白白色图像,并在其中随机绘制10个矩形,每个矩形的颜色也是随机生成的。最后将生成的图像保存为PNG格式文件。你可以根据需要修改代码来生成不同的随机图像。
相关问题
利用Python PIL 模块,选取多个点绘制电子云图样
式,该怎么实现呢?
首先,需要了解 PIL(Python Imaging Library) 模块,它是 Python 中用于处理图像的一个第三方库,可以安装该模块来使用。
接着,需要定义电子云图的大小、坐标值及颜色等参数,然后使用 PIL 中的 draw 模块的 point() 方法来在图片上绘制点,最后保存图片即可。
下面是一个示例代码:
```python
from PIL import Image, ImageDraw
# 定义图片大小和坐标系
img = Image.new('RGB', (800, 800), (255, 255, 255))
draw = ImageDraw.Draw(img)
center_x, center_y = 400, 400
radius = 300
# 循环绘制电子云图
for i in range(1000):
# 随机生成点的位置
x = center_x + radius * random.uniform(-1, 1)
y = center_y + radius * random.uniform(-1, 1)
# 计算点的颜色,可根据需要自行定义
color = (int(x % 256), int(y % 256), int((x + y) % 256))
# 绘制点
draw.point((x, y), fill=color)
# 保存图片
img.save('electron_cloud.png')
```
这段代码会生成一个 800x800 像素大小的图片,并在图片中心绘制一个半径为 300 的圆形范围内的 1000 个随机位置的点,点的颜色根据 x, y 坐标计算得到。最后图片会保存为 electron_cloud.png。
阅读全文