该接口的功能主要是通过在原始图像周围填充像素的方式来改变图像的尺寸
接口使用介绍
ImageOps.expand(img,border=300,fill='black')
border :四个border的宽度一致时,border是宽度
ImageOps.expand(img,(4,4,8,8),fill='white')
border说明:
(4,4,8,8) ---> left, top, right and bottom borders.
4--left:表示左上角像素点距最终图左边的像素宽度 ---左边border的宽度
4--top:表示左上角像素点距最终图上边的像素宽度 --- 上边border的宽度
8--right:表示右下角像素点距最终图右边的像素宽度 --- 右边border的宽度
8--bottom:表示右下角像素点距最终图下边的像素宽度 --- 下面border的宽度
fill 说明:
可选包括:
'white' , 'black' , 'red' , 'green' , 'blue' , val , (val1, val2, val3)
也就是说可以是一些常见颜色的单词名称,也可以是单个数值(即灰度值), 三通道的值(分别对应R, G, B)
代码示例
from PIL import Image,ImageOps
img = Image.open('demo.jpg')
#print( img.size) # 假设w = 100, h = 200
img_with_border = ImageOps.expand(img,(4,5,6,7),fill=0)
# img_with_border = ImageOps.expand(img,border=4,fill='white')
#print( img_with_border.size)
# 此时 w_new = w + left + right = 100+4+6=110, h_new = h + top + bottom = 200 + 5 + 7 = 212