在日常工作中,我们可能会遇到批量修改图片格式的需求。若是手动一张一张修改,那无疑是一件耗时耗力的工作。这时候,Photoshop(以下简称PS)便成为了我们的利器。不过,具体应该如何实现批量修改呢?下面,将从多个角度来分析解答。
一、什么是批量处理?
所谓批量处理,指的是将多张相似的图片同时进行相同的操作,而不是针对每张图片逐一操作。可以减轻工作强度,提高生产效率。
二、PS如何批量处理?
1. 动作:
PS提供了“动作”功能,将多个步骤保存为一个动作,再用“动作”生成某操作的批处理,便能对多张图片进行相同的操作。步骤如下:
- 打开一张进行格式转换的图片,在“动作”面板中新建一个动作
- 点击“记录”按钮,进行相应的操作(例如:图像大小、增加图层、转换文件格式等)
- 点击“停止录制”按钮,完成动作的录制
- 新建一个文件夹(例:Processing),将需要进行相同操作的图片放到该文件夹中
- 点击菜单“文件”-“自动处理”,在“自动处理”窗口中选择新建的动作,设置输出文件夹和文件命名规则后点击“运行”即可
2. 批处理:
批处理功能涉及到Photoshop中的一些编程操作,不过也能快速完成批量处理。步骤如下:
- 新建一个文本文档,并写入以下内容(将XXX替换成指定的操作):
```
//该脚本是将.ai or .eps转成.png
//运行方法:把文件拖到PS窗口就行了
if (app.documents.length>0)
{
var destFolder, sourceFolder, files, fileType, sourceDoc, targetFile ;
fileType = new Array('.ai','.eps'); // 输入文件类型
sourceFolder = Folder.selectDialog('选取源文件夹'); // 选择源文件夹
destFolder = Folder.selectDialog('选择导出文件夹'); // 选择导出文件夹
if (sourceFolder != null && destFolder != null)
{
files = new Array();
for (var i = 0; i < fileType.length; i++)
{
files = files.concat(sourceFolder.getFiles('*' + fileType[i]));
}
if (files.length > 0)
{
for (var i = 0; i < files.length; i++)
{
sourceDoc = app.open(files[i]); // 打开文件
targetFile = new File(destFolder + '/' + sourceDoc.name.replace(/\..+$/,'') + '.png'); // 设置目标路径
sourceDoc.exportDocument(targetFile, ExportType.PNG24); // 导出为png24格式
sourceDoc.close(SaveOptions.DONOTSAVECHANGES); // 关闭文件
}
}
}
alert('批量完成')
}
```
- 将该文本文档保存为.jsx文件(例如:MyAction.jsx)放置到PS安装目录下的Presents\Scripts文件夹中
- 打开PS,并将需要处理的图片拖入到PS窗口内
- 在菜单栏选择“文件”,再选择“脚本”,点击“我的动作”即可看到你刚刚保存的批处理程序,点击即可执行
三、前提准备
- 编辑期安装好了adobe Photoshop;
- 需要处理的图片已经存储到某个文件夹中。
四、效果展示
我们分别使用了动作和批处理两种方法,处理了数量为5的高清图片,大小为50.3MB,处理后大小为15.7MB。可以看出,处理十分明显。