在PhotoShop中调整批量图像的大小

时间:2012-07-18 09:26:32

标签: canvas automation photoshop image-resizing

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

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

提前谢谢你。这可以节省我数小时的繁琐重复工作。

4 个答案:

答案 0 :(得分:7)

使用javascript:您可以使用this answer选择所选文件夹中的所有文件并循环浏览它们。在循环中,您将要打开每个文件,如下所示:

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 scripting guides

答案 1 :(得分:4)

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

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

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中都包含的预览版,快速批量调整大小!

答案 2 :(得分: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

答案 3 :(得分: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.
 }