分享

分享三个photoshop小脚本(JavaScript)

 hdzgx 2018-07-30

打包下载地址:http://u.163.com/nye9b3Q3  提取码: aWz10Oig

1、layerRename.jsx 图层批量重命名

  1. //批量修改图层名称,输入新名称前缀
  2. var doc = app.activeDocument;
  3. var newLayerName = prompt ("请输入新名称的前缀:" , doc.layers[0].name, "层命名工具");
  4. //alert (newLayerName);
  5. if (newLayerName != null) {
  6. for (i=0; i<doc.layers.length;i++)
  7. {
  8. doc.layers[i].name = newLayerName+(doc.layers.length-i);
  9. //隐藏图层
  10. //doc.layers[i].visible = false;
  11. //doc.layers[i].name = newLayerName+"_"+(i+1);
  12. }
  13. }

2、exportLayer.jsx 单独导出所有层,default导出png格式

  1. //批量导图(png/jpg)工具,指定保存路径
  2. var doc = app.activeDocument;
  3. var savePath = prompt ("请输入保存路径:" , doc.path, "批量导出图工具");
  4. //alert (newLayerName);
  5. function SavePNG(saveFile, compressionValue) {
  6. pngSaveOptions = new PNGSaveOptions();
  7. pngSaveOptions.compression = compressionValue;
  8. pngSaveOptions.interlaced = false;
  9. activeDocument.saveAs(saveFile, pngSaveOptions, true,Extension.LOWERCASE);
  10. }
  11. /*
  12. function SaveJPEG(saveFile, jpegQuality) {
  13. jpgSaveOptions = new JPEGSaveOptions();
  14. jpgSaveOptions.embedColorProfile = true;
  15. jpgSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE;
  16. jpgSaveOptions.matte = MatteType.NONE;
  17. jpgSaveOptions.quality = jpegQuality; //1-12
  18. activeDocument.saveAs(saveFile, jpgSaveOptions, true,Extension.LOWERCASE);
  19. }
  20. */
  21. if (savePath != null) {
  22. for (i=0; i<doc.layers.length;i++)
  23. {
  24. app.activeDocument.layers[i].visible = true;
  25. saveFile = new File(savePath+'/'+doc.layers[i].name+ '.png');
  26. SavePNG(saveFile, 9);
  27. //SaveJPEG(saveFile, 10);
  28. app.activeDocument.layers[i].visible = false;
  29. }
  30. }

3、importSequenceAsLayer.jsx 批量导入序列并自动分配到每个图层

  1. var seq_path = prompt ("请输入图片所在文件目录:" , "C:\\Users\\Administrator\\Desktop", "批量导入图片到图层");
  2. var sourceFolder = Folder(seq_path);
  3. var seq_file = sourceFolder.getFiles("*.png");
  4. // import frist image
  5. var currentDoc = open(new File(seq_file[0]));
  6. currentDoc.layers[0].name = currentDoc.name;
  7. for (var i = 1;i < seq_file.length; i++) {
  8. fileToLayer(seq_file[i], currentDoc);
  9. }
  10. saveDoc_psd(currentDoc);
  11. //open file,rename layer, copy layer to newDoc.layer
  12. function fileToLayer(input_file_path, newDoc) {
  13. var file_path = new File(input_file_path);
  14. var doc_temp = open (file_path);
  15. doc_temp.layers[0].name = doc_temp.name;
  16. doc_temp.layers[0].duplicate(newDoc, ElementPlacement.INSIDE);
  17. doc_temp.close (SaveOptions.DONOTSAVECHANGES);
  18. }
  19. //save document psd type
  20. function saveDoc_psd(currentDoc) {
  21. saveFilePath = new File(currentDoc.path+'/'+currentDoc.name+ '.psd');
  22. psdSaveOptions = new PhotoshopSaveOptions();
  23. currentDoc.saveAs(saveFilePath,psdSaveOptions , true, Extension.LOWERCASE);
  24. }

鉴于这方面资料少,本人愿意共享一些自己的脚本。

参考资料《Photoshop-CS6-JavaScript-Ref》、《JavaScript Tools Guide CS6》

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多