python例题代码_python26个练习题及代码-789

**

0005

题:

**

你有一个目录,装了很多照片,把它们的尺寸变成都不大于

iPhone5

辨率的大小。

思路:遍历给出目录下的图片,把大于

iPhone5

分辨率的图片都进行缩放。使用

Python

PIL

库对图片进行处理,

IPhone5

屏幕分辨率为

640

×

1136

将大于该分辨率的图片按照一

定比例缩放至适合大小并保存。

0005.

批量图片处理

.py

#!/usr/bin/env python

#coding: utf-8

import Image, os

#

源目录

myPath = '/home/bill/Pictures/'

#

输出目录

outPath = '/home/bill/Pictures/output/'

def processImage(filesource, destsource, name, imgtype):

'''

filesource

是存放待转换图片的目录

destsource

是存放输出转换后图片的目录

name

是文件名

imgtype

是文件类型

'''

imgtype = 'jpeg' if imgtype == '.jpg' else 'png'

#

打开图片

im = Image.open(filesource + name)

#

缩放比例

rate = max(im.size[0]/640.0 if im.size[0] > 640 else 0, im.size[1]/1136.0 if im.size[1] > 1136

else 0)

if rate:

im.thumbnail((im.size[0]/rate, im.size[1]/rate))

im.save(destsource + name, imgtype)

def run():

#

切换到源目录,遍历源目录下所有图片

os.chdir(myPath)

for i in os.listdir(os.getcwd()):

#

检查后缀

postfix = os.path.splitext(i)[1]

if postfix == '.jpg' or postfix == '.png':

processImage(myPath, outPath, i, postfix)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值