3

我经常被要求将图像(很多)调整为正方形,然后用 PhotoShop 保存它们。例如,如果图像是 400x200,那么我需要将画布的大小调整为 400x400。同样,如果图像为 321x850,则画布的大小将调整为 850x850,如果图像为 521x250,则画布的大小将调整为 521x521。

PhotoShop 中有没有办法自动完成这项繁琐的任务?我知道 PhotoShop 自动化,它会记录你的动作,但这不是我想要的。如果你能指出我正确的方向,我对解决方案的编程没有问题。这可能吗?

先感谢您。这可以为我节省数小时的繁琐重复工作。

4

4 回答 4

7

使用 javascript:您可以使用此答案来选择所选文件夹中的所有文件并循环浏览它们。在循环中,您需要像这样打开每个文件:

var doc = open(fileList[i]);

然后检查长度与宽度:

if (doc.width !== doc.height) {             // if document is not already square...
    if (doc.width > doc.height) {               // if width is greater...
        doc.resizeCanvas(doc.width, doc.width)   // use this value for both sides...
    } else {                                      // else use height for both sides...
        doc.resizeCanvas(doc.height, doc.height)      // so you always get a square.
    }
}

保存并关闭:

doc.save();
doc.close();

根据您要查找的内容,也有doc.resizeImage()

Adobe 脚本指南

于 2012-07-20T12:09:46.880 回答
4

在 Mac OS X 中批量调整图像大小

您可以使用附带的 Preview 应用程序轻松地在 Mac OS X 中批量调整图像组的大小,无需任何额外的下载或昂贵的照片编辑应用程序,只需使用 Mac 免费的 Preview!这是如何做到的:

1. Select all the images you want resized and open them within Preview
2. From Preview, select the images that you want to batch resize from the drawer (Command+A will select them all)
3. Now, go to the menu labeled Tools, and then Adjust Size
4. Enter a value for what you want the new width and height to be
5. Next, navigate to the File menu and click Save All
6. All the images you selected are now resized!

这适用于几乎所有 Mac OS X 版本中包含的预览版,快乐批量调整大小!

于 2012-10-31T09:50:37.643 回答
0

使用这个脚本出错了。

if (doc.width !== doc.height) {             // if document is notalready square...
     if (doc.width > doc.height) {               // if width is greater...
         doc.resizeCanvas(doc.width, doc.width)   // use this value for both sides...
     else {                                      // else use height for both sides...
         doc.resizeCanvas(doc.height, doc.height)      // so you always get a square.
     } }

它说在第 4 行非法使用 else

于 2013-09-12T19:40:14.970 回答
0

发生错误是因为第 3 行末尾缺少“}”。if-term 必须在 else-term 打开之前关闭。

if (doc.width !== doc.height) {                // if document is notalready square...
 if (doc.width > doc.height) {                 // if width is greater...
     doc.resizeCanvas(doc.width, doc.width)}   // use this value for both sides...
 else {                                        // else use height for both sides...
     doc.resizeCanvas(doc.height, doc.height)} // so you always get a square.
 }
于 2014-11-16T11:49:48.303 回答