使用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)

使用Python获取所有非偶数尺寸图片资源信息,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。