【问题标题】:How can I crop by x,y,width,height all images in a folder, resize them, then save them?如何按 x,y,width,height 裁剪文件夹中的所有图像,调整它们的大小,然后保存它们?
【发布时间】:2014-03-12 23:19:06
【问题描述】:

我是 Photoshop 脚本的新手,但对 Javascript 并不陌生。

我有一个 1024*1024 的图像文件夹,它们是 3d 程序中的动画帧。

对于所有的帧,只有 x=54、y=12、width=300、height=234 的区域。

裁剪后,我希望它们按 65% 或任何我想要的比例缩放。

或者,我希望对源图像进行缩放,图像移动 x / y 坐标,缩小 65%,这样外部像素就不会出现在最终产品中。

没有 psd 可言,我假设脚本会创建一个空白 psd,并且很可能会将其回收用于批量裁剪/调整大小。

【问题讨论】:

    标签: photoshop photoshop-script


    【解决方案1】:

    尝试按照这些方式进行裁剪和调整大小。如果这是您所追求的,您还可以在保存之前将所有图像复制到单个 PSD 中,但此示例仅保存原始文档。有关更多信息,请查看 Photoshop 安装目录中的 Photoshop JavaScript Reference pdf。

    var dir = new Folder('/c/temp')
    var files = dir.getFiles("*.psd");  //change for whatever file type you have
    
    for (var i = 0; i < files.length; i++) {
        var doc = app.open(files[i]);
        var bounds = [54, 12, 354, 246];
        doc.crop(bounds);
    
        //do the math to figure out how big you want it after resize
        doc.resizeImage(newWidth, newHeight);
    
        //note this is saving over the original!!!!
        doc.close(SaveOptions.SAVECHANGES)
    }
    

    【讨论】:

    • 'crop' 会将其降低到任意指定的范围。就像使用选择工具将选择拖出一样。修剪适用于透明区域或角落的像素颜色。
    • 我实现了代码并且效果很好。谢谢你安娜!如果你能指导我如何将它保存为另一个文件夹中的 png,我会永远珍惜你 :D
    • doc.saveAs(newFilePath, pngOptions)。查看文档中的 PNGSaveOptions 对象以获取最后一个参数
    • 永远珍惜 Anna Forrest
    【解决方案2】:

    为什么不直接在 Photoshop 中记录动作???

    打开第一个文件并创建一个新动作。 使用裁剪工具或画布调整大小继续根据需要修剪画布。 根据需要在文件夹上以批处理方式运行该操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-10
      • 2014-11-18
      • 2018-04-19
      • 2013-03-01
      相关资源
      最近更新 更多