第 0005 题: 你有一个目录,装了很多照片,把它们的尺寸变成都不大于 iPhone5 分辨率的大小。

from PIL import Image
#PIL是Python Imaging Library 是图像存档和批处理应用程序的理想选择。您可以使用该库创建缩略图,在文件格式之间进行转换,打印图像等。
import os.path
#os.path 模块主要用于获取文件的属性。

def Size(dirPath, size_x, size_y):
#定义函数
    f_list = os.listdir(dirPath)
    # os.listdir() 方法用于返回指定的文件夹包含以字母顺序的文件或文件夹的名字的列表。
    for i in f_list:
    # 遍历列表
         if os.path.splitext(i)[1] == '.png' or os.path.splitext(i)[1] == '.jpg' or os.path.splitext(i)[1] == '.bmp' or os.path.splitext(i)[1] == '.jpeg' or os.path.splitext(i)[1] == '.gif' or os.path.splitext(i)[1] == '.psd' or os.path.splitext(i)[1] == '.tiff' or os.path.splitext(i)[1] == '.tga' or os.path.splitext(i)[1] == '.eps':
        #   os.path.splitext()分割路径,返回路径名和文件扩展名的元组
            img = Image.open(i)
            img.thumbnail((size_x,size_y))
            #  PIL模块中Image类thumbnail()方法可以用来制作缩略图,它接受一个二元数组作为缩略图的尺寸,然后将示例缩小到指定尺寸。
            img.save(i)
            print(i)
Size('D:\工作\python\项目--1', 1136, 640)

mage.resize()和Image.thumbnail()的区别
1.resize()函数会返回一个Image对象, thumbnail()函数返回None
2.resize()修改后的图片在返回的Image中, 而原图片没有被修改;
3.thumbnail()直接对内存中的原图进行了修改, 但是修改需要保存;
4.resize()中的size参数直接设定了resize之后图片的规格,而thumbnail()中的size参数则是设定了x/y上的最大值. 也就是说, 经过resize()处理的图片可能会被拉伸,而经过thumbnail()处理的图片不会被拉伸。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值