图像排版
一个
Python图像排版工具,可以根据指定图片自动生成网格布局。支持自定义画布大小、背景色、行列数及间距,适用于多图拼接、照片墙等场景。
功能特点
- 指定行列布局:设定行数和列数,自动计算画布大小并排列图片。
- 自动填充画布:指定画布尺寸后,自动计算可容纳的行列数并铺满。
- 裁剪溢出区域:通过
is_del_extra=True裁剪画布中无法容纳的多余部分。 - 自定义样式:支持自定义背景色、图片间距等。
安装
对象相关描述
width: 画布的宽度。height: 画布的高度。color: 画布的颜色。默认为白色white。is_del_extra:是否删除画布中额外多出的部分。
canvas:Canvas对象。imagePath:本地的图片路径。row:行数。column:列数。space:间距。默认为10。
示例一
from photo_layout import Canvas, LayoutModel
from photo_layout import LayoutImage
def main():
canvas = Canvas(color="pink")
layout_model = LayoutModel(canvas=canvas, imagePath="test.jpg", row=3, column=3, space=10)
layout_image = LayoutImage(layout=layout_model)
image = layout_image.create()
image.show()
if __name__ == '__main__':
main()
效果图如下:

当然你也可以调用 image.save("imgs/example1.jpg") 来保存到本地。
示例二
根据图片来填充整个画布.
from photo_layout import Canvas, LayoutModel
from photo_layout import LayoutImage
def main():
canvas = Canvas(width=2000, height=800, color="pink")
layout_model = LayoutModel(canvas=canvas, imagePath="test.jpg", space=10)
layout_image = LayoutImage(layout=layout_model)
image = layout_image.create()
image.show()
if __name__ == '__main__':
main()
效果图如下:

示例三
根据图片来填充整个画布. 通过设置
is_del_extra=True来删除画布额外多出的部分。
from photo_layout import Canvas, LayoutModel
from photo_layout import LayoutImage
def main():
canvas = Canvas(width=2000, height=800, color="pink", is_del_extra=True)
layout_model = LayoutModel(canvas=canvas, imagePath="test.jpg", space=10)
layout_image = LayoutImage(layout=layout_model)
image = layout_image.create()
image.show()
if __name__ == '__main__':
main()
效果图如下:
