编写一段python代码,代码的任务是生成一张图片,这张图片中间亮,以圆圈往四周扩散,越靠近四周越暗
时间: 2024-09-15 07:03:09 浏览: 11
你可以使用Python的PIL库(Pillow模块的旧名)来创建这种效果,结合numpy计算灰度值。下面是一个简单的例子,我们将创建一个圆形渐变的图片:
```python
from PIL import Image, ImageDraw
import numpy as np
# 图片尺寸
width, height = 500, 500
# 创建一个新的白色图像
img = Image.new('RGB', (width, height), 'white')
draw = ImageDraw.Draw(img)
# 圆心坐标和半径
center_x, center_y = width // 2, height // 2
radius = min(width, height) // 4
# 生成灰度梯度数组
gradient = np.linspace(255, 0, radius * 2).reshape((radius * 2, 1))
# 画出圆形渐变
for x in range(-radius, radius):
for y in range(-radius, radius):
distance = ((x - center_x) ** 2 + (y - center_y) ** 2) ** 0.5
pixel_value = int(np.interp(distance, [0, radius], gradient)) # 线性插值获取灰度值
draw.point((center_x + x, center_y + y), (pixel_value, pixel_value, pixel_value))
# 显示和保存图片
img.show()
img.save('gradient_circle.png')