美文网首页
根据3倍图生成2倍图和1倍图

根据3倍图生成2倍图和1倍图

作者: 绍清_shao | 来源:发表于2019-08-13 14:16 被阅读0次

    Python实现

    演示

    • 在桌面新建文件夹PythonTest,并放入resize.py(源代码在下面)和要生成2倍和1倍图的目标图片


      第一步
    • 打开终端,cd到刚刚建好的PythonTest下


      第二步
    • 终端执行python resize.py。PythonTest下多生成result文件夹,生成的1倍2倍3倍图都在里面


      执行前与执行后

    下面是文字手把手步骤

    首先得安装Python

    安装Python教程

    其次安装Pillow,Python的操作图片库

    安装Pillow

    完成上两步后根据以下操作进行

    1. 在桌面新建文件夹名字为Test
    2. 在Test文件夹中新建resize.py文件
    3. 打开resize.py,把下面的代码拷贝进去
    4. 把要生成2倍图1倍的图片放在Test文件夹下
    5. 打开终端,cd到Test文件夹目录下
    6. 执行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、会过滤图片名含@的图片
    """
    
    

    遇到问题可以及时跟我反馈,我会更正优化,感谢

    如果是女生可以加我微信,男生就免了

    相关文章

      网友评论

          本文标题:根据3倍图生成2倍图和1倍图

          本文链接:https://www.haomeiwen.com/subject/snnvjctx.html