Python PIL 模块绘制五角星
时间: 2023-06-20 21:09:58 浏览: 114
你可以使用Python的PIL模块来绘制五角星。下面是一个示例代码:
```
from PIL import Image, ImageDraw
# 创建一个空白图像
image = Image.new('RGBA', (200, 200), (255, 255, 255, 0))
# 创建一个画板对象
draw = ImageDraw.Draw(image)
# 定义画线的坐标点
points = [
(100, 10),
(130, 70),
(200, 78),
(150, 120),
(160, 180),
(100, 150),
(40, 180),
(50, 120),
(0, 78),
(70, 70)
]
# 使用多边形绘制五角星
draw.polygon(points, fill=(255, 0, 0, 255))
# 将图像保存到文件中
image.save("star.png", "PNG")
```
这段代码创建了一个200 x 200的空白图像,然后使用PIL的ImageDraw模块创建了一个画板对象。接着,定义五角星的坐标点,最后使用画板对象的polygon()方法绘制五角星,并将绘制好的图像保存到了star.png文件中。
相关问题
Python PIL 模块绘制电子云的图样
Python PIL 模块是一个图片处理模块,可以对图片进行裁剪、调整大小、添加文字等操作,但无法直接绘制电子云的图样。如果想要绘制电子云的图样,可以使用 Python matplotlib 模块来实现。具体可以参考下面的代码示例:
```python
import matplotlib.pyplot as plt
import numpy as np
# 定义绘制电子云的函数
def plot_electron_cloud(x, y, z, r):
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
u, v = np.mgrid[0:2*np.pi:20j, 0:np.pi:10j]
x = x + r*np.sin(v)*np.cos(u)
y = y + r*np.sin(v)*np.sin(u)
z = z + r*np.cos(v)
ax.plot_wireframe(x, y, z)
ax.set_xlim([x-r-1, x+r+1])
ax.set_ylim([y-r-1, y+r+1])
ax.set_zlim([z-r-1, z+r+1])
plt.show()
# 调用函数生成电子云图像
plot_electron_cloud(0, 0, 0, 4)
```
该函数以一个坐标点和电子云的半径作为参数,可在3D坐标系中绘制出电子云的图样。
Python PIL 模块绘制一个电子云的图样
可以使用 Python 的 PIL(Python Imaging Library)模块来绘制一个电子云的图样。以下是具体的代码实现:
``` python
from PIL import Image, ImageDraw
# 创建一个大小为 400x400 像素的黑色背景图像
image = Image.new('RGB', (400, 400), 'black')
draw = ImageDraw.Draw(image)
# 绘制白色的圆形
draw.ellipse((50, 50, 350, 350), fill='white', outline='white')
# 绘制一些随机的白色点
for i in range(2000):
x = random.randint(0, 400)
y = random.randint(0, 400)
draw.point((x, y), fill='white')
# 保存图像
image.save('cloud.png')
```
这段代码中,我们首先创建一个大小为 400x400 像素的黑色背景图像,然后使用 ImageDraw 模块来绘制白色的圆形,代表一个电子云。接着,我们使用一个 for 循环来绘制一些随机的白色点,使整个图案看起来更加丰富和自然。最后,我们将图像保存为名为 "cloud.png" 的 PNG 文件。