本文实例为大家分享了python实现批量按比例缩放图片的具体代码,供大家参考,具体内容如下
把脚本文件放在要缩放的文件夹下面。
双击运行脚本,输入要缩放的系数。脚本会在当前目录下创建一个scaledImg_xxxx文件夹,如果已经存在,会强制删除,如果删除失败会提示手动删除这个文件夹,再双击运行就可以了。
resizeImg.py
#!/usr/bin/python
# -*- coding:utf8 -*-
#author@skillart www.
import os
import shutil
import Image
to_scale = 0.5
processIndex = 0
def resizeImg(imgPath):
global processIndex
fileList = []
files = os.listdir(imgPath)
for f in files:
filePath = imgPath + os.sep + f
if(os.path.isfile(filePath)):
fileList.append(f)
elif(os.path.isdir(filePath)):
resizeImg(filePath)
for fileName in fileList:
processIndex+=1
fileFullName = imgPath+os.sep+fileName
suffix = fileName[fileName.rfind('.'):]
if(suffix == '.png' or suffix == '.jpg'):
print 'processing the '+str(processIndex)+'th file:'+fileFullName
img = Image.open(fileFullName)
w,h = img.size
tw = int(w * to_scale)
th = int(h * to_scale)
reImg = img.resize((tw,th),Image.ANTIALIAS)
reImg.save(fileFullName)
del reImg
if __name__ == '__main__':
scaleStr = raw_input('input to_scale: ')
to_scale = float(scaleStr)
scaledPath = '.\\scaledImg_xxxx';
if os.path.isdir(scaledPath):
flag = raw_input('the output dir is exist, sure to del it(y/n)')
if flag == 'y' or flag == 'yes':
try:
shutil.rmtree(scaledPath)
finally:
raw_input('remove dir failed , please removed the dir manually.')
else:
exit
shutil.copytree('.\\',scaledPath)
resizeImg(scaledPath)
raw_input("resize success")
生成Icon
generateIcon.py
#!/usr/bin/python
# -*- coding:utf8 -*-
#author@skillart www.
import os
import shutil
import Image
def resizeImg(imgPathName):
print imgPathName
iconDict = {'Icon.png':'72x72','Icon@2x.png':'144x144','Icon-29.png':'29x29','Icon-40.png':'40x40','Icon-50.png':'50x50',
'Icon-57.png':'57x57', 'Icon-58.png':'58x58','Icon-72.png':'72x72','Icon-76.png':'76x76','Icon-80.png':'80x80',
'Icon-100.png':'100x100','Icon-114.png':'114x114','Icon-120.png':'120x120','Icon-144.png':'144x144','Icon-152.png':'152x152',
'FlipCycleTileLarge.png':'300x300','FlipCycleTileMedium.png':'300x300','FlipCycleTileSmall.png':'300x300',
'IconicTileMediumLarge.png':'300x300','IconicTileSmall.png':'300x300','ApplicationIcon.png':'300x300','icon.png':'72x72'}
if os.path.isfile(imgPathName) == False:
print('open imgPathName failed , check the' + imgPathName + "is exist!")
exit
img = Image.open(imgPathName)
index = imgPathName.rfind(os.sep)
prefix = imgPathName[:index+1]
for key, value in iconDict.items():
# print key,value
v_split = value.split('x')
w,h = int(v_split[0]),int(v_split[1])
fileName = prefix + key
reImg = img.resize((w,h),Image.ANTIALIAS)
reImg.save(fileName)
print fileName,w,h
del img
if __name__ == '__main__':
scaledPath = '.\\createIcon'
if os.path.isdir(scaledPath):
flag = raw_input('the output dir is exist, sure to del it(y/n)')
if flag == 'y' or flag == 'yes':
try:
shutil.rmtree(scaledPath)
finally:
raw_input('remove dir failed , please removed the dir manually.')
else:
exit
shutil.copytree('.\\',scaledPath)
fileList = []
files = os.listdir(scaledPath)
for f in files:
filePath = scaledPath + os.sep + f
if os.path.isfile(filePath) :
suffix = filePath[filePath.rfind('.'):]
if(suffix == '.png' or suffix == '.jpg'):
print filePath
resizeImg(filePath)
break
raw_input("resize success")
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“python实现批量按比例缩放图片效果”评论...
更新动态
2025年10月29日
2025年10月29日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]