python - 在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 个边上为图像添加一个宽度
解决方案
我建议使用 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、边框、边框、外边框、添加边框、扩展、填充、范围、图像、图像处理。
推荐阅读
- r - 通过组合另一个数据框中的其他两列在数据框中添加一列
- python - 如何使用 Crontab 执行 Python 自定义命令
- java - 如何在android中获取getter setter方法的值?
- ruby-on-rails - RubyZip:找不到存储在活动存储中的文件的路径
- ionic3 - 如何在 ionic 3 应用程序中为输入字段提供自定义自动完成建议列表?
- python - 如果所有列都包含特定模式,则选择 pandas 数据框中的行
- python - 获取 ManyToManyField 的条目
- php - 将参数传递给对象
- ef-core-2.1 - 如何在 EF Core 中应用条件连接?
- hash - Teradata 和 Spark 中的类似哈希算法