美文网首页
根据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、会过滤图片名含@的图片
"""

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

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

相关文章

  • 天正系统图

    重点:1、系统生成(调用系统生成命令,可以根据平面图生成系统轴测图,可生成多楼层管道的系统图),2、原理图(TWT...

  • 测试用例编写

    用例产生的流程 根据需求文档和交互设计稿编写测试导图 评审测试导图,生成会有纪要 根据测试导图编写测试用例(利用设...

  • UML简介

    。 还可以根据uml图生成java代码

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

    Python实现 演示 在桌面新建文件夹PythonTest,并放入resize.py(源代码在下面)和要生成2倍...

  • python生成@2x,@3x图片小脚本

    Slicy能够从PSD文件中根据图层命名来生成切图,确实是一个很好的切图神器。但是Slicy只能生成.png和@2...

  • 数据结构(笔记)---图

    图的定义和术语 a、图的概念: 例子: b、图的分类 无向图的术语 有向图的术语 c、图的连通 d、图的生成树 图...

  • 图的深度优先搜索(DFS)

    图: 图有顶点和顶点之间的边组成;图分为有向图和无向图,还可以根据边长分为有权图和无权图;我们用临结表来构造图,l...

  • 图的宽度优先搜索(BFS)

    图: 图有顶点和顶点之间的边组成;图分为有向图和无向图,还可以根据边长分为有权图和无权图;我们用临结表来构造图,l...

  • (19)监督学-标注问题-隐马尔科夫模型

    图模型主要分为2种;有向图和无向图。 图模型——1有向图——贝叶斯网(静态、动态——HMM)——生成式模型 ...

  • Android 后台生成长图并分享(非长截图)

    先看需求: 1.用户点击生成长图按钮,弹出等待框,后台生成一张长图。 2.用户展示界面和最终生成的长图,布局完全不...

网友评论

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

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