Python编程计算机图形学简单的边填充算法,详细代码
时间: 2024-10-10 08:06:02 浏览: 41
在Python中,使用`PIL`(Python Imaging Library,已改名为`Pillow`)库可以简单地实现图像边框填充。这里我们将创建一个基本的函数,接受一个图像、边框颜色和宽度,然后在图像四周添加边框。
```python
from PIL import Image, ImageDraw
def fill_border(image_path, border_color, border_width):
# 打开图片
img = Image.open(image_path)
# 创建一个新的ImageDraw对象,用于绘制
draw = ImageDraw.Draw(img)
# 获取原始尺寸
width, height = img.size
# 计算新的边界后的尺寸
new_width = width + 2 * border_width
new_height = height + 2 * border_width
# 创建一个新的背景图,大小包含边框
bg = Image.new('RGB', (new_width, new_height), color='white')
# 将原图粘贴到新背景上
bg.paste(img, (border_width, border_width))
# 使用画笔在背景的边缘绘制边框
for x in range(border_width, bg.width - border_width):
draw.line([(x, 0), (x, bg.height)], fill=border_color)
for y in range(border_width, bg.height - border_width):
draw.line([(0, y), (bg.width, y)], fill=border_color)
return bg
# 示例用法
image_path = 'example.jpg'
border_color = 'blue'
border_width = 5
filled_image = fill_border(image_path, border_color, border_width)
filled_image.save('filled_example.jpg')
```
在这个例子中,我们首先打开图片,然后创建一个新的大图片作为背景,并将原图居中放置。接着,我们在边缘绘制出指定颜色和宽度的线作为边框。最后保存带有边框的新图像。
阅读全文