• 使用Python获取所有非偶数尺寸图片资源信息


    前面说到我们要做一套一半尺寸的低分辨率图片,所谓一半,其实都是直接整数除法/2,然后发现前期美术做的资源,好多都是奇数尺寸的,一半之后除不尽,就会带来各种问题。

    于是就想先看看都有多少奇数的贴图,马上想到用python拉,但是python我不熟啊,纠结了一小时才弄好。

    问题1:要获取目录下所有的png文件,这个简单,直接os.walk所有文件再判断下endswith后缀就好。

    问题2:要获取图片的尺寸,这里我用了一个PIL库,可以读取图片,通过size获得尺寸。

    貌似问题到这里就解决啦?结果不是的,因为python本来我就自己随便看的,好久不用忘记了,结果遇到两个很纠结的基础问题。

    问题3:想把文件尺寸和文件路径放在一行打出来,结果因为用习惯C#了,就直接上+号,结果居然不行,又去找转义序列,研究了半天还是不对,最后发现直接用,连接就好了嘛。

    问题4:想判断长或者宽是不是2的倍数,结果不知道怎么从size单获得比如宽度,试了x不对,w不对,width不对,然后因为没有IDE又没有语法提示,去找文档居然也没写!绝望后无意中发现人家是tuple,其实是直接用下标读的。

    所以最后代码如下:

    import os

    from PIL import Image

    def VisitDir(path):

      for root,dirs,files in os.walk(path):

        for filespath in files:

          if filespath.endswith('png'):

            im = Image.open(os.path.join(root,filespath))

            if im.size[0]%2==1 or im.size[1]%2==1:

              print(os.path.join(root,filespath),im.size[0],im.size[1])

    if __name__=="__main__":

         path="E:\XXX"

         VisitDir(path)

  • 相关阅读:
    如何解决Ubuntu下的的“system program problem detected”
    GDM, KDM, LightDM, SDDM显示管理器的区别和安装配置
    在Linux下安装使用vokoscreen录制网站上的视频与声音-Ubuntu-mate-20.04桌面环境测试录屏推荐
    Ubuntu-mate-20.04-desktop安装总结
    云上渗透-基于阿里云环境渗透
    fastadmin前台getshell漏洞
    gitlab CI/CD Custom SAST
    前端神器RRWEB
    【转】六种减小Docker镜像大小的方法
    splunk 多个数据关联查询
  • 原文地址:https://www.cnblogs.com/unionfind/p/3592039.html
Copyright © 2020-2023  润新知