本文将从以下几个方面对Python图片填充进行详细阐述。
一、Pillow库介绍
Pillow是Python成像库之一,它支持实现许多常见的图片操作,如裁剪、旋转、缩放、调整亮度等。
首先,需要安装Pillow库。使用pip命令即可进行安装。
pip install Pillow
二、图片填充方法1
在进行图片填充前,先导入Pillow库中的Image模块。假设想将一张图片填充至400x400像素大小,可以使用“Image.new()”创建一张大小为400x400的空白图片,再使用“Image.paste()”方法将原图粘贴在新图的中心位置即可。
from PIL import Image
old_image = Image.open("old_image.png") # 打开原图
new_image = Image.new('RGBA', (400, 400), (255, 255, 255, 255)) # 新建一张400x400的空白图片
new_image.paste(old_image, ((400 - old_image.width) // 2, (400 - old_image.height) // 2)) # 将原图粘贴在新图的中心位置
new_image.save("new_image.png") # 保存新图
三、图片填充方法2
除了上述的方法外,还可以使用“ImageOps.pad()”方法进行图片填充。该方法会在图片周围填充空白区域,返回一张指定大小的新图片,并且原图会保持在填充后图片的正中央位置。
from PIL import ImageOps
old_image = Image.open("old_image.png") # 打开原图
new_image = ImageOps.pad(old_image, (400, 400), (255, 255, 255, 255)) # 在原图周围填充空白区域,返回一张大小为400x400的新图片
new_image.save("new_image.png") # 保存新图
四、图片填充方法3
如果要填充的图片大小与目标大小不一致,可先进行调整大小,再进行填充操作。
from PIL import ImageOps
old_image = Image.open("old_image.png") # 打开原图
resized_image = old_image.resize((300, 300)) # 调整原图大小
new_image = ImageOps.pad(resized_image, (400, 400), (255, 255, 255, 255)) # 在调整后的原图周围填充空白区域,返回一张大小为400x400的新图片
new_image.save("new_image.png") # 保存新图
五、总结
本文介绍了三种常见的Python图片填充方法,包括使用“Image.new()”和“Image.paste()”方法、使用“ImageOps.pad()”方法以及结合调整大小操作进行图片填充。笔者在使用过程中发现,第一种方法实现起来比较简单,但是需要进行坐标计算;第二种方法可以直接填充,但是填充后图片大小固定且周围都是尽量保证指定颜色的空白;而第三种方法可以结合其他图片操作,如调整大小、缩放等,更加灵活。