【无标题】

python拼接多张图片为一张图

from PIL import Image
import os
import math

# 这个是我图片的所在路径
img_dir = r"C:\Users\26602\Desktop\ctfctf\misc"
# 获取这个文件下的所有文件,因为没有过滤其他类型文件,所以不要放非图片文件
# 返回的是一个列表
imgs = os.listdir(img_dir)
# 设置图片的尺寸,所有图片尺寸要保持统一,要有组织有纪律
img_h = 40
img_w = 20

for rows in range(48,50):                       #不清楚行列的情况下设置行列
    for columns in range(48,50):
        # # 使用Image.new()方法创建一个画布
        figure = Image.new("RGB", (img_w*columns, img_h*rows),"white")
        # 表示图片的下标
        count = 0
        # 遍历行
        for i in range(rows):

        # 遍历每行中的所有元素
            for j in range(columns):
                # # 如果元素是1,就不管它
                # if map[i][j] == 1:
                #     continue
                # # 如果元素是非1,即0就放图片上去
                # else:
                #     # 做个异常处理,防止有些图片打开失败,导致程序中断
                try:
                    # 使用Image.open("图片路径")方法获取图片对象
                    image = Image.open(os.path.join(img_dir, imgs[count]))
                except:
                    continue
                # resize((新的宽,新的高))用来改变图片的尺寸,接收一个元组
                image = image.resize((img_w, img_h))
                # 将修改尺寸后的图片(image)粘贴(paste)到画布(figure)上
                # 第一个参数 是图片对象
                # 第二个参数是 图片在画布上的位置,相当于单元格的位置
                figure.paste(image, (img_w*j, img_h*i))
                # 使用完一张图片就要记录下来,并开始使用下一张图片
                count += 1
            
        # 将画好的画布显示出来,给你看到
        #figure.show()
        figure.save(str(rows)+str(columns)+'.png')
        print (str(rows)+'.'+str(columns))

python批量修改图片名称为有序数

# -*- coding:utf8 -*-
 
import os
import re
import shutil
from pathlib2 import Path
 
 
# 批量命名图片
def renamePic(srcImgDir):
    i=1
    for item in srcImgDir.rglob("*.png"):
        # 获取图片名
        imgName = item.name
        newName = str(i)+".png"
        i=i+1
        # 重命名
        print(f"prepare to rename {imgName}")
        item.rename(newName)
 
 
if __name__ == '__main__':
    # 文件路径--跟代码同目录
    srcImgPath = Path("./")
    renamePic(srcImgPath)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值