Python实现
演示
-
在桌面新建文件夹PythonTest,并放入resize.py(源代码在下面)和要生成2倍和1倍图的目标图片
第一步 -
打开终端,cd到刚刚建好的PythonTest下
第二步 -
终端执行python resize.py。PythonTest下多生成result文件夹,生成的1倍2倍3倍图都在里面
执行前与执行后
下面是文字手把手步骤
首先得安装Python
其次安装Pillow,Python的操作图片库
完成上两步后根据以下操作进行
- 在桌面新建文件夹名字为Test
- 在Test文件夹中新建resize.py文件
- 打开resize.py,把下面的代码拷贝进去
- 把要生成2倍图1倍的图片放在Test文件夹下
- 打开终端,cd到Test文件夹目录下
- 执行
python resize.py
# encoding: utf-8
from PIL import Image
import os
def main():
#文件夹下所有文件名
list = os.listdir('.')
#images收集图片名
images = []
for file in list:
if file.endswith('.png') or file.endswith('.jpg'):
if '@' not in file:
images.append(file)
image = images[0]
path = "result"
if not os.path.exists(path):
os.makedirs(path)
for image in images:
image2 = image[:-4] + '@2' + image[-4:]
image3 = image[:-4] + '@3' + image[-4:]
im = Image.open(image)
(w,h) = im.size
# 生成三倍图
size = (w,h)
im.thumbnail(size)
im.save(path + '/' + image3, 'png')
# 生成二倍图
size = (w/3*2,h/3*2)
im.thumbnail(size)
im.save(path + '/' + image2, 'png')
# 生成一倍图
# os.remove("./" + image)
size = (w/3,h/3)
im.thumbnail(size)
im.save(path + '/' + image, 'png')
im.close
if __name__ == '__main__':
main()
# 上面只定义函数,可共享于其他文件
# from module2 import foo 或者 import module3 或者 import module3 as m3
# 下面代码只在本文件夹可执行
"""
举个🌰
执行前:
FileName |
| resize.py
| word.png(132*132)
| image.png(132*132) PS: 这个是三倍图,生成的2倍1倍在result下
| hel@2.png PS:这张图片不会生成,因为名字含@
执行后:
FileName |
| resize.py
| image.png(132*132)
| word.png(132*132)
| hel@2.png
| result |
| image.png(44*44)
| image@2.png(88*88)
| image@3.png(132*132)
| word.png(44*44)
| word@2.png(88*88)
| word@3.png(132*132)
PS:
1、在FileName下放三倍图,生成的2倍1倍存放在result下,并会重命名自身保存在result下
1、会过滤图片名含@的图片
"""
网友评论