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


Posted in Python onJuly 24, 2018

本文实例为大家分享了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 相关文章推荐
python 输出一个两行字符的变量
Feb 05 Python
Python排序算法实例代码
Aug 10 Python
Python实现的栈(Stack)
Jan 26 Python
python爬取m3u8连接的视频
Feb 28 Python
Tensorflow 合并通道及加载子模型的方法
Jul 26 Python
在Python dataframe中出生日期转化为年龄的实现方法
Oct 20 Python
pygame游戏之旅 按钮上添加文字的方法
Nov 21 Python
Python实现性能自动化测试竟然如此简单
Jul 30 Python
Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)
Dec 11 Python
Pandas实现DataFrame按行求百分数(比例数)
Dec 27 Python
pycharm激活码有效到2020年11月底
Sep 18 Python
Python pip配置国内源的方法
Feb 14 Python
python 自动去除空行的实例
Jul 24 #Python
python读取图片并修改格式与大小的方法
Jul 24 #Python
Flask模拟实现CSRF攻击的方法
Jul 24 #Python
Python全排列操作实例分析
Jul 24 #Python
python保存网页图片到本地的方法
Jul 24 #Python
python中reader的next用法
Jul 24 #Python
使用Flask集成bootstrap的方法
Jul 24 #Python
You might like
php接口与接口引用的深入解析
2013/08/09 PHP
php检测图片主要颜色的方法
2015/07/01 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
2020/06/28 PHP
javascript实现划词标记+划词搜索功能
2007/03/06 Javascript
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
js中replace的用法总结
2013/12/27 Javascript
多个js毫秒倒计时同时进行效果
2016/01/05 Javascript
Three.js学习之正交投影照相机
2016/08/01 Javascript
Node.js包管理器Yarn的入门介绍与安装
2016/10/17 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
2016/12/20 Javascript
nodejs6下使用koa2框架实例
2017/05/18 NodeJs
JS轮播图实现简单代码
2021/02/19 Javascript
js使用html2canvas实现屏幕截取的示例代码
2017/08/28 Javascript
浅谈Vue响应式(数组变异方法)
2018/05/07 Javascript
用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)
2018/12/05 Javascript
微信小程序实现下拉加载更多商品
2020/12/29 Javascript
js实现有趣的倒计时效果
2021/01/19 Javascript
[02:58]献给西雅图的情书_高清
2014/05/29 DOTA
[40:16]TFT vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python中的赋值、浅拷贝、深拷贝介绍
2015/03/09 Python
以windows service方式运行Python程序的方法
2015/06/03 Python
python中文件变化监控示例(watchdog)
2017/10/16 Python
python3利用Socket实现通信的方法示例
2019/05/06 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
python将字符串list写入excel和txt的实例
2019/07/20 Python
使用Python开发个京东上抢口罩的小实例(仅作技术研究学习使用)
2020/03/10 Python
HTML5计时器小例子
2013/10/15 HTML / CSS
HTML5 input新增type属性color颜色拾取器的实例代码
2018/08/27 HTML / CSS
学校司机岗位职责
2013/11/14 职场文书
个性与发展自我评价
2014/02/11 职场文书
大跃进口号
2014/06/16 职场文书
2015年元旦标语大全
2014/12/09 职场文书
我的中国梦主题教育活动总结
2015/05/07 职场文书
大学开学典礼新闻稿
2015/07/17 职场文书
中学生国庆节演讲稿2015
2015/07/30 职场文书
python操作xlsx格式文件并读取
2021/06/02 Python