首页 > 解决方案 > 在python中创建具有一定宽度边框的图像

问题描述

我用过 PIL

#back_color_width 

for x in range(w):
    for y in range(h):
        if x==0 or y==0 or x==w-1 or y==h-1 :
            pixels[x,y] = back_color

我需要在图像的所有 4 个边上为图像添加一个宽度

标签: pythonpython-3.ximage-processingpython-imaging-library

解决方案


我建议使用 PIL 的内置expand()功能,它允许您为图像添加任何颜色和宽度的边框。

所以,从这个开始:

在此处输入图像描述

#!/usr/bin/env python3

from PIL import Image, ImageOps

# Open image
im = Image.open('start.png')

# Add border and save
bordered = ImageOps.expand(im, border=10, fill=(0,0,0))

bordered.save('result.png')

在此处输入图像描述


如果您想从左右开始在顶部/底部设置不同大小的边框,请给出两个宽度:

bordered = ImageOps.expand(im, border=(10,50), fill=(0,0,0)) 

在此处输入图像描述


如果您想要在所有边上都有不同大小的边框,请给出 4 个宽度:

bordered = ImageOps.expand(im, border=(10,40,80,120), fill=(0,0,0))

在此处输入图像描述

关键词:PIL、Pillow、ImageOps、Python、边框、边框、外边框、添加边框、扩展、填充、范围、图像、图像处理。


推荐阅读