python批量修改图片大小的方法

 更新时间:2018年07月24日 15:18:38   作者:Lee-ldc  
这篇文章主要为大家详细介绍了python批量修改图片大小的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了python批量修改图片大小的具体代码,供大家参考,具体内容如下

引用的模块

from PIL import Image

Image的使用

def resize_image(img_path):
  try:
    mPath, ext = os.path.splitext(img_path)
    if astrcmp(ext, ".png") or astrcmp(ext, ".jpg"):
      img = Image.open(img_path)
      (width, height) = img.size

      if width != new_width:
        new_height = int(height * new_width / width)
        out = img.resize((new_width, new_height), Image.ANTIALIAS)
        new_file_name = '%s%s' % (mPath, ext)
        out.save(new_file_name, quality=100)
        Py_Log("图片尺寸修改为:" + str(new_width))
      else:
        Py_Log("图片尺寸正确,未修改")
    else:
      Py_Log("非图片格式")
  except Exception, e:
    print e

def printFile(dirPath):
  print "file: " + dirPath
  resize_image(dirPath)
  return True

引用

if __name__ == '__main__':
  path = "E:\pp\icon_setting.png"
  new_width = 50
  try:
    b = printFile(path)
    Py_Log("\r\n     **********\r\n" + "*********图片处理完毕*********" + "\r\n     **********\r\n")
  except:
    print "Unexpected error:", sys.exc_info()

上述是修改单一的图片,若要批量修改文件夹下的所有图片,则要使用循环,在上面基础添加 例如:

def BFS_Dir(dirPath, dirCallback=None, fileCallback=None):
  queue = []
  ret = []
  queue.append(dirPath);
  while len(queue) > 0:
    tmp = queue.pop(0)
    if os.path.isdir(tmp):
      ret.append(tmp)
      for item in os.listdir(tmp):
        queue.append(os.path.join(tmp, item))
      if dirCallback:
        dirCallback(tmp)
    elif os.path.isfile(tmp):
      ret.append(tmp)
      if fileCallback:
        fileCallback(tmp)
  return ret

第一个参数为图片的目录路径,第二个参数是(目录路劲的回掉方法),第三个参数是图片处理回掉方法

源代码参考:Python_Tool

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python使用matplotlib绘制三维图形示例

    Python使用matplotlib绘制三维图形示例

    这篇文章主要介绍了Python使用matplotlib绘制三维图形,结合实例形式分析了Python基于matplotlib库绘制三维图形的相关操作技巧与注意事项,需要的朋友可以参考下
    2018-08-08
  • Python生成验证码实例

    Python生成验证码实例

    这篇文章主要介绍了Python生成验证码的方法,具有很好的实用价值,代码结构清晰易懂,需要的朋友可以参考下
    2014-08-08
  • Python SQLAlchemy入门教程(基本用法)

    Python SQLAlchemy入门教程(基本用法)

    这篇文章主要介绍了Python SQLAlchemy入门教程,本文通过实例主要给大家讲解了python SQLAlchemy基本用法,需要的朋友可以参考下
    2019-11-11
  • Python 的 sum() Pythonic 的求和方法详细

    Python 的 sum() Pythonic 的求和方法详细

    Python 的内置函数sum()是一种对数值列表求和的有效且Pythonic 的方法。将多个数字相加是许多计算中常见的中间步骤,因此sum()对于 Python 程序员来说是一个非常方便的工具。下面文章就让我们一起来看具体内容吧
    2021-10-10
  • python实现C4.5决策树算法

    python实现C4.5决策树算法

    这篇文章主要为大家详细介绍了python实现C4.5决策树算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • Python Opencv实现单目标检测的示例代码

    Python Opencv实现单目标检测的示例代码

    这篇文章主要介绍了Python Opencv实现单目标检测的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Python RobotFramework的安装过程及应用实战教程

    Python RobotFramework的安装过程及应用实战教程

    这篇文章主要介绍了RobotFramework的安装过程及应用实战教程,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • Python命令行解析工具argparse模块

    Python命令行解析工具argparse模块

    这篇文章主要介绍了Python命令行解析工具argparse模块,argparse模块是一个python标准库,它主要用于对用户从客户端输入的命令进行解析,这使得编写用户友好的命令行接口变得非常容易,需要的朋友可以参考下
    2023-05-05
  • PyTorch中的拷贝与就地操作详解

    PyTorch中的拷贝与就地操作详解

    这篇文章主要给大家介绍了关于PyTorch中拷贝与就地操作的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Python3如何对urllib和urllib2进行重构

    Python3如何对urllib和urllib2进行重构

    这篇文章主要介绍了Python3如何对urllib和urllib2进行重构,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11

最新评论