zoukankan      html  css  js  c++  java
  • Python工具类之PIL.Image库快速实现多图拼接

    我们在测试中尤其是终端自动化测试中,经常要求截图保存操作自动化测试的步骤,但是一
    个case多个图片,查看起来很麻烦,这里提供一个思路,那就是将多个图片拼接起来,
    弄成一张图片,可以**合成N*M宫格,如果图片不够,自动白色填空**

    具体代码如下

    class ImageUtils(object):
        @staticmethod
        def image_compose(imgDir, picWidth, picHigh, savePath, row=1, column=1):
            '''
            :param imgDir: 图片路径
            :param picWidth: 缩放图宽带
            :param picHigh: 缩放图高度
            :param savePath: 保存路径
            :param row: x 行
            :param column: x 列
            :return:
            '''
            IMAGES_FORMAT = ['.png', '.PNG', '.jpg', ".JPG"]  # 图片格式
            # 获取图片集地址下的所有图片名称
            image_names = [name for name in os.listdir(imgDir) for item in IMAGES_FORMAT if
                           os.path.splitext(name)[1] == item]
            # 定义图像拼接函数
            to_image = Image.new('RGB', (column * picWidth, row * picHigh))  # 创建一个新图
            # 循环遍历,把每张图片按顺序粘贴到对应位置上
            from_image = None
            for y in range(1, row + 1):
                for x in range(1, column + 1):
                    if column * (y - 1) + x - 1 > len(image_names) - 1:
                        from_image = Image.new('RGB', (picWidth, picHigh), (255, 255, 255))
                    else:
                        from_image = Image.open(imgDir + image_names[column * (y - 1) + x - 1]).resize(
                            (picWidth, picHigh), Image.ANTIALIAS)
                    to_image.paste(from_image, ((x - 1) * picWidth, (y - 1) * picHigh))
    
            return to_image.save(savePath)  # 保存新图
            
    if __name__ == "__main__":
        ImageUtils.image_compose(os.getcwd() + "/image/" ,360,640,'111.jpg',4,4)

    来看下最终运行效果,下图是我在实现一个游戏辅助脚本外挂中用的,将辅助操作的执行步骤全部保存,最后合成一张图片,

     更多技术交流请加QQ群:1085210541

  • 相关阅读:
    UVA657 The die is cast(DFS、BFS)
    三分
    【洛谷P6105】iepsmCmq
    【CF613D】Kingdom and its Cities
    【洛谷P4294】游览计划
    【洛谷P3500】TESIntelligence Test
    【洛谷P6189】[NOI Online 入门组] 跑步
    【洛谷P2973】Driving Out the Piggies
    【洛谷P3164】和谐矩阵
    【洛谷P4161】游戏
  • 原文地址:https://www.cnblogs.com/luoman/p/12584320.html
Copyright © 2011-2022 走看看