`
nnnnon
  • 浏览: 150984 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mac下图片批量处理

阅读更多
转自
https://github.com/zhasm/scripts/raw/master/resize.py


#!/usr/bin/python
# -*- coding: utf-8 -*-
#
#author:         rex
#blog:           http://iregex.org
#filename        resize.py
#created:        2011-01-05 21:35
import re
from sys import exit

from optparse import OptionParser

from os.path import abspath
from os.path import dirname as dirname
from os.path import join as pathjoin

try:
    import Image
except:
    print "Please install PIL module for python before using this script"
    exit(1)


def getPath(sufix=""):
    '''get absolute path of the current dir'''
    path = dirname(__file__)
    try:
        index=path.index("..")
        if index!=-1:
            path=path[:index]
    except:
        pass
    return pathjoin(abspath(path), sufix).replace('\\','/')


def getOptions():
    '''get and parse options '''
    usage = "usage: %prog [options] FILE1 [ FILE2 ...]"
    parser=OptionParser(usage=usage)

    parser.add_option("-r", "--resolution", dest="resolution", help="the destination resolution in 1024x768 format. You may use Non-digital chars to separate width and height, but do not use space as delimiter")
    parser.add_option("-p", "--percent", dest="percent", help="the destination resolution in 90 format, where 90 stands for 90% percent. Please do not add the '%' sign.")

    parser.add_option("-d", "--destination", dest="destination", help="the path to save the result. if omitted, the current folder will be used.")

    (options, args) = parser.parse_args()
    if not ( options.resolution or options.percent):
        print parser.parse_args( [ '--help' ] )
        exit(1)
    if not args:
        print "Please Specify Picture files to resize!"
        print parser.parse_args( [ '--help' ] )
        exit(1)
    if not (options.destination):
        options.destination=getPath()
    return{
        'files': args,
        'option': options,
    }

def resize(files, resolutionString="", percent=None, output="./"):
    '''resize all files with given opts'''

    size=[]

    if resolutionString:
        size=re.findall(r"\d+", resolutionString)
        size=[int(i) for i in size]
        if not size:
            print "Seems the resolution argument is not correct."
            exit(1)

    elif percent:
        percent=int(percent)
        if not percent:
            print "Seems the percent argument is not correct."
            exit(1)

    all=len(files)
    index=0

    for file in files:
        try:
            im=Image.open(file)
            try:
                filename=re.findall(r"[^/]+$", file)[0]
            except:
                print 'Error occured when try to get the real filename'
                continue
            outputfilename=pathjoin(abspath(output), "r_"+filename).replace('\\','/')

            if percent and not size:
                size=[int(i * percent / 100) for i in im.size ]

            result=im.resize(size, Image.ANTIALIAS)
            result.save(outputfilename)
            index+=1
            print "[%d of %d] %s has been resized." % (index, all, file)

        except:
            print "Error occured when resizing %s" % file


if __name__=="__main__":

    args=getOptions()
    files=args['files']
    option=args['option']
    resize(files, resolutionString=option.resolution,
            percent=option.percent,
            output=option.destination)

分享到:
评论

相关推荐

    图片批量调整大小(很实用的图片处理工具)

    1. **批量处理**:批量处理是此工具的核心功能,它可以一次性处理大量图片,避免了逐个修改的繁琐操作。这对于处理大量的库存图片、照片或者产品展示图来说,尤其方便。 2. **图片格式支持**:通常,一个优秀的图片...

    图片批量处理小工具.rar

    在IT行业中,图片批量处理是一项常见的任务,尤其对于摄影师、设计师以及网站管理员来说,高效地管理与优化大量的图片是至关重要的。"图片批量处理小工具" 提供了解决这一问题的有效途径。这个压缩包文件“imgsoft”...

    迷你图片批量处理工具

    5. 批量处理:该工具的核心优势在于批量操作,用户只需导入一批图片,设定好处理参数,软件就会自动逐一处理,大大提高了工作效率。 6. 高效性能:考虑到处理大量图片可能带来的性能压力,该工具优化了处理算法,...

    批量改变图片尺寸(像素、比例)MAC

    在Mac操作系统中,批量改变图片尺寸是一项常见的图像处理任务,特别是在处理大量图片时,手动调整每张图片的尺寸会非常耗时。本文将详细介绍如何在Mac上实现这一操作,主要涉及的技术点包括图像处理软件、批处理功能...

    图片大小、格式批量修改

    总的来说,"图片大小、格式批量修改"工具是IT领域中一个实用的辅助软件,它解决了图片处理中的常见问题,使用户能够高效地管理和优化他们的图片资源。通过灵活的参数设置和无须安装的便携性,这个工具在各种场景下都...

    图片批量转换器

    6. 兼容性:一个优秀的图片批量转换器应具备良好的系统兼容性,能运行在Windows、Mac OS等多种操作系统上,满足不同用户的平台需求。 7. 用户界面:用户友好的界面设计是提升使用体验的关键。好的批量转换器应有...

    【图片批量处理工具】超级好用! 功能强大,一键式批量处理 调整图片大小,像素,图片格式 一键添加水印,多图拼接

    【图片批量处理工具】超级好用! 功能强大,一键式批量处理。 调整图片大小,像素,图片格式。 一键添加水印,多图拼接。 调整更换图片颜色,位置等。 支持linux,mac。windowns

    简单的文件批量处理,改名改属性同名化处理

    在IT领域,文件批量处理是一项基础且实用的技能,尤其对于数据管理、文件整理和自动化工作流程来说至关重要。"简单的文件批量处理,改名改属性同名化处理"这一主题涵盖了几个关键知识点,包括文件操作、文件重命名、...

    秋天一键图片批量黑白V1.01图片批量变为黑白图

    总的来说,“秋天一键图片批量黑白V1.01”是一个实用的图像处理工具,借助Qt库的强大功能,提供了一键批量将彩色图片转换为黑白图片的服务,满足了用户在各种场景下的图片处理需求。通过简单操作,用户可以轻松实现...

    图片批量改尺寸

    在IT领域,图片批量改尺寸是一项常见的图像处理需求,尤其对于摄影师、设计师或者网站管理员来说,这是一项必备技能。批量处理图片尺寸可以极大地提高工作效率,避免手动调整每一张图片的繁琐工作。以下将详细介绍...

    图片批量压缩.rar

    标题“图片批量压缩.rar”揭示了这个压缩包包含的是一款用于批量处理图片压缩的软件工具。批量处理功能在处理大量图片时非常有用,可以节省大量的时间和精力。这可能是一个独立的应用程序或者脚本,设计目的是减小...

    linux-Mac环境下使用x3图片批量生成x2x1图片

    本文将详细介绍如何在Linux或Mac环境下,使用命令行工具将x3倍率的图片批量转换为x2和x1倍率的图片。 首先,我们需要了解一些基本概念。"x3"、"x2"和"x1"通常指的是图片的分辨率倍率,x3表示原始尺寸的三倍,x2是两...

    图像批量改名 2.3

    《图像批量改名 2.3》是一款专为图像文件设计的高效批量重命名工具,尤其适用于需要处理大量图片文件的用户。这款软件版本号为2.3,根据用户的反馈,“挺好用的!” 可见其在实际操作中具有较高的易用性和实用性。 ...

    Mac-MD5Change.dmg 修改器

    Mac-MD5Change.dmg 是一款专为 macOS 设计的实用工具,它允许用户批量修改图片的 MD5 值,以此达到防止图片秒删、规避去重系统的效果。 MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,能将任意长度...

    图片批量下载工具 v1.1

    《图片批量下载工具v1.1:高效获取网络图像资源》 在当今信息化时代,网络上的图像资源丰富多样,无论是为了个人收藏、设计工作还是数据分析,都有可能需要批量下载网络图片。图片批量下载工具v1.1正是为满足这一...

    图像批量改名 2.3.rar

    "图像批量改名 2.3.rar" 提供了一个高效解决方案,帮助用户快速、批量地更改图片文件的名称。这个工具的主要功能是简化了手动逐一重命名的繁琐过程,极大地提高了工作效率。 批量改名通常涉及到以下几个关键知识点...

    图片批量转换工具

    【图片批量转换工具】是一种高效、实用的软件解决方案,专为需要一次性处理大量图片格式转换的用户设计。这款工具能够支持大规模的图片批量处理,比如一次转换5000幅以上图片,极大地提升了工作效率,避免了手动操作...

    图片批量水印添加工具

    总之,“图片批量水印添加工具”是一款强大的图片处理软件,它的出现极大地简化了图片水印添加的过程,提高了工作效率。对于需要批量处理图片的用户,它无疑是一个不可或缺的工具。通过官方网站,用户不仅可以下载...

    批量修改器,四款批量修改器

    在IT领域,批量处理是一种非常实用的技术,尤其在文件管理和数据操作中。批量修改器,如标题所提及的“批量修改器,四款批量修改器”,是专门设计用于执行重复性修改任务的工具,能够极大地提高工作效率。这些工具...

    09图片批量处理器程序.zip

    这个工具包集成了多种常用的图片处理功能,包括图片的批量重命名、批量调整尺寸、批量转换格式、批量添加水印等,极大地提高了用户在处理大量图片文件时的工作效率。该工具包采用了简洁明了的用户界面设计,即使是对...

Global site tag (gtag.js) - Google Analytics