文章目录

  • 1.插件界面
  • 2.关键代码
  • 3.代码转执行
  • 4.作者答疑

  PS是一款栅格图像编辑软件,具有许多强大的功能,本文演示如何通过脚本实现晕影白色相关功能,展示从互联网收集而来的一个小插件,供大家学习交流,请勿用于商业用途。

1.插件界面

  本文界面是一系列功能的一部分,将逐步展示,但是功能界面是共同的,如下图所示:

2.关键代码

  大家可通过源代码阅读,来掌握相关技巧,源代码如下:

if (app) {try {MainCatch3();} catch (e) {}
}function MainCatch3() {var getName = app.activeDocument.activeLayer.name;var idslct = charIDToTypeID("slct");var desc410 = new ActionDescriptor();var idnull = charIDToTypeID("null");var ref300 = new ActionReference();var idLyr = charIDToTypeID("Lyr ");ref300.putName(idLyr, "White_Vignetting");desc410.putReference(idnull, ref300);var idMkVs = charIDToTypeID("MkVs");desc410.putBoolean(idMkVs, false);var idLyrI = charIDToTypeID("LyrI");var list239 = new ActionList();list239.putInteger(94);desc410.putList(idLyrI, list239);executeAction(idslct, desc410, DialogModes.NO);var idsetd = charIDToTypeID("setd");var desc422 = new ActionDescriptor();var idnull = charIDToTypeID("null");var ref309 = new ActionReference();var idLyr = charIDToTypeID("Lyr ");var idOrdn = charIDToTypeID("Ordn");var idTrgt = charIDToTypeID("Trgt");ref309.putEnumerated(idLyr, idOrdn, idTrgt);desc422.putReference(idnull, ref309);var idT = charIDToTypeID("T   ");var desc423 = new ActionDescriptor();var idNm = charIDToTypeID("Nm  ");desc423.putString(idNm, "White_Vignetting - old");var idLyr = charIDToTypeID("Lyr ");desc422.putObject(idT, idLyr, desc423);executeAction(idsetd, desc422, DialogModes.NO);var idsetd = charIDToTypeID("setd");var desc86 = new ActionDescriptor();var idnull = charIDToTypeID("null");var ref54 = new ActionReference();var idLyr = charIDToTypeID("Lyr ");var idOrdn = charIDToTypeID("Ordn");var idTrgt = charIDToTypeID("Trgt");ref54.putEnumerated(idLyr, idOrdn, idTrgt);desc86.putReference(idnull, ref54);var idT = charIDToTypeID("T   ");var desc87 = new ActionDescriptor();var idClr = charIDToTypeID("Clr ");var idClr = charIDToTypeID("Clr ");var idNone = charIDToTypeID("None");desc87.putEnumerated(idClr, idClr, idNone);var idLyr = charIDToTypeID("Lyr ");desc86.putObject(idT, idLyr, desc87);executeAction(idsetd, desc86, DialogModes.NO);var idslct = charIDToTypeID("slct");var desc410 = new ActionDescriptor();var idnull = charIDToTypeID("null");var ref300 = new ActionReference();var idLyr = charIDToTypeID("Lyr ");ref300.putName(idLyr, getName);desc410.putReference(idnull, ref300);var idMkVs = charIDToTypeID("MkVs");desc410.putBoolean(idMkVs, false);var idLyrI = charIDToTypeID("LyrI");var list239 = new ActionList();list239.putInteger(94);desc410.putList(idLyrI, list239);executeAction(idslct, desc410, DialogModes.NO);
}function White() {function step1(enabled, withDialog) {if (enabled != undefined && !enabled) {return;}var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;var desc1 = new ActionDescriptor();var ref1 = new ActionReference();ref1.putClass(PSClass.AdjustmentLayer);desc1.putReference(PSString.Null, ref1);var desc2 = new ActionDescriptor();var desc3 = new ActionDescriptor();desc3.putEnumerated(PSString.presetKind, PSString.presetKindType, PSString.presetKindDefault);desc2.putObject(PSKey.Type, PSClass.Curves, desc3);desc1.putObject(PSKey.Using, PSClass.AdjustmentLayer, desc2);executeAction(PSEvent.Make, desc1, dialogMode);}function step2(enabled, withDialog) {if (enabled != undefined && !enabled) {return;}var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;executeAction(PSEvent.Invert, undefined, dialogMode);}function step3(enabled, withDialog) {if (enabled != undefined && !enabled) {return;}var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;var desc1 = new ActionDescriptor();var ref1 = new ActionReference();ref1.putEnumerated(PSClass.AdjustmentLayer, PSType.Ordinal, PSEnum.Target);desc1.putReference(PSString.Null, ref1);var desc2 = new ActionDescriptor();var list1 = new ActionList();var desc3 = new ActionDescriptor();var ref2 = new ActionReference();ref2.putEnumerated(PSClass.Channel, PSClass.Channel, PSEnum.Composite);desc3.putReference(PSClass.Channel, ref2);var list2 = new ActionList();var desc4 = new ActionDescriptor();desc4.putDouble(PSKey.Horizontal, 0);desc4.putDouble(PSKey.Vertical, 0);list2.putObject(PSClass.Point, desc4);var desc5 = new ActionDescriptor();desc5.putDouble(PSKey.Horizontal, 155);desc5.putDouble(PSKey.Vertical, 106);list2.putObject(PSClass.Point, desc5);var desc6 = new ActionDescriptor();desc6.putDouble(PSKey.Horizontal, 255);desc6.putDouble(PSKey.Vertical, 255);list2.putObject(PSClass.Point, desc6);desc3.putList(PSKey.Curve, list2);list1.putObject(PSClass.CurvesAdjustment, desc3);desc2.putList(PSKey.Adjustment, list1);desc1.putObject(PSKey.To, PSClass.Curves, desc2);executeAction(PSEvent.Set, desc1, dialogMode);}function step4(enabled, withDialog) {if (enabled != undefined && !enabled) {return;}var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;var desc1 = new ActionDescriptor();var ref1 = new ActionReference();ref1.putEnumerated(PSClass.AdjustmentLayer, PSType.Ordinal, PSEnum.Target);desc1.putReference(PSString.Null, ref1);var desc2 = new ActionDescriptor();var list1 = new ActionList();var desc3 = new ActionDescriptor();var ref2 = new ActionReference();ref2.putEnumerated(PSClass.Channel, PSClass.Channel, PSEnum.Composite);desc3.putReference(PSClass.Channel, ref2);var list2 = new ActionList();var desc4 = new ActionDescriptor();desc4.putDouble(PSKey.Horizontal, 0);desc4.putDouble(PSKey.Vertical, 0);list2.putObject(PSClass.Point, desc4);var desc5 = new ActionDescriptor();desc5.putDouble(PSKey.Horizontal, 118);desc5.putDouble(PSKey.Vertical, 149);list2.putObject(PSClass.Point, desc5);var desc6 = new ActionDescriptor();desc6.putDouble(PSKey.Horizontal, 255);desc6.putDouble(PSKey.Vertical, 255);list2.putObject(PSClass.Point, desc6);desc3.putList(PSKey.Curve, list2);list1.putObject(PSClass.CurvesAdjustment, desc3);desc2.putList(PSKey.Adjustment, list1);desc1.putObject(PSKey.To, PSClass.Curves, desc2);executeAction(PSEvent.Set, desc1, dialogMode);}function step5(enabled, withDialog) {if (enabled != undefined && !enabled) {return;}var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;var desc1 = new ActionDescriptor();var ref1 = new ActionReference();ref1.putEnumerated(PSClass.Layer, PSType.Ordinal, PSEnum.Target);desc1.putReference(PSString.Null, ref1);var desc2 = new ActionDescriptor();desc2.putString(PSKey.Name, "Black_Vignetting");desc1.putObject(PSKey.To, PSClass.Layer, desc2);executeAction(PSEvent.Set, desc1, dialogMode);}function step6(enabled, withDialog) {if (enabled != undefined && !enabled) {return;}var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;var desc1 = new ActionDescriptor();var ref1 = new ActionReference();ref1.putEnumerated(PSClass.Channel, PSClass.Channel, PSClass.Mask);desc1.putReference(PSString.Null, ref1);desc1.putBoolean(PSKey.MakeVisible, false);executeAction(PSEvent.Select, desc1, dialogMode);}function step7(enabled, withDialog) {if (enabled != undefined && !enabled) {return;}var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;var desc1 = new ActionDescriptor();var ref1 = new ActionReference();ref1.putEnumerated(PSClass.Layer, PSType.Ordinal, PSEnum.Target);desc1.putReference(PSString.Null, ref1);var desc2 = new ActionDescriptor();desc2.putUnitDouble(sTID("userMaskFeather"), PSUnit.Pixels, 135);desc1.putObject(PSKey.To, PSClass.Layer, desc2);executeAction(PSEvent.Set, desc1, dialogMode);}function step8(enabled, withDialog) {}function step9(enabled, withDialog) {if (enabled != undefined && !enabled) {return;}var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;var desc1 = new ActionDescriptor();var ref1 = new ActionReference();ref1.putEnumerated(PSClass.Layer, PSType.Ordinal, PSEnum.Target);desc1.putReference(PSString.Null, ref1);var desc2 = new ActionDescriptor();desc2.putUnitDouble(PSKey.Opacity, PSUnit.Percent, 60);desc1.putObject(PSKey.To, PSClass.Layer, desc2);executeAction(PSEvent.Set, desc1, dialogMode);}function step10(enabled, withDialog) {if (enabled != undefined && !enabled) {return;}var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;var desc1 = new ActionDescriptor();var ref1 = new ActionReference();ref1.putEnumerated(PSClass.Layer, PSType.Ordinal, PSEnum.Target);desc1.putReference(PSString.Null, ref1);var desc2 = new ActionDescriptor();desc2.putString(PSKey.Name, "White_Vignetting");desc1.putObject(PSKey.To, PSClass.Layer, desc2);executeAction(PSEvent.Set, desc1, dialogMode);}function step11(enabled, withDialog) {if (enabled != undefined && !enabled) {return;}var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;var desc1 = new ActionDescriptor();var ref1 = new ActionReference();ref1.putEnumerated(PSClass.Layer, PSType.Ordinal, PSEnum.Target);desc1.putReference(PSString.Null, ref1);var desc2 = new ActionDescriptor();desc2.putEnumerated(PSKey.Color, PSKey.Color, PSEnum.Blue);desc1.putObject(PSKey.To, PSClass.Layer, desc2);executeAction(PSEvent.Set, desc1, dialogMode);}function step12(enabled, withDialog) {if (enabled != undefined && !enabled) {return;}var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;var desc1 = new ActionDescriptor();var ref1 = new ActionReference();ref1.putEnumerated(PSClass.Layer, PSType.Ordinal, PSEnum.Target);desc1.putReference(PSString.Null, ref1);var desc2 = new ActionDescriptor();desc2.putEnumerated(PSKey.Mode, PSType.BlendMode, PSEnum.Luminosity);desc1.putObject(PSKey.To, PSClass.Layer, desc2);executeAction(PSEvent.Set, desc1, dialogMode);}step1();step2();step3();step4();step5();step6();step7();step8();step9();step10();step11();step12();
}
cTID = function(s) {return app.charIDToTypeID(s);
};
sTID = function(s) {return app.stringIDToTypeID(s);
};
White.loadSymbols = function() {var dbgLevel = $.level;$.level = 0;try {PSConstants;return;} catch (e) {} finally {$.level = dbgLevel;}var needDefs = true;$.level = 0;try {PSClass;needDefs = false;} catch (e) {} finally {$.level = dbgLevel;}if (needDefs) {PSClass = function() {};PSEnum = function() {};PSEvent = function() {};PSForm = function() {};PSKey = function() {};PSType = function() {};PSUnit = function() {};PSString = function() {};}PSClass.AdjustmentLayer = cTID("AdjL");PSClass.Channel = cTID("Chnl");PSClass.Curves = cTID("Crvs");PSClass.CurvesAdjustment = cTID("CrvA");PSClass.Layer = cTID("Lyr ");PSClass.Mask = cTID("Msk ");PSClass.Point = cTID("Pnt ");PSEnum.Blue = cTID("Bl  ");PSEnum.Composite = cTID("Cmps");PSEnum.Luminosity = cTID("Lmns");PSEnum.Target = cTID("Trgt");PSEvent.Invert = cTID("Invr");PSEvent.Make = cTID("Mk  ");PSEvent.Select = cTID("slct");PSEvent.Set = cTID("setd");PSKey.Adjustment = cTID("Adjs");PSKey.Color = cTID("Clr ");PSKey.Curve = cTID("Crv ");PSKey.Horizontal = cTID("Hrzn");PSKey.MakeVisible = cTID("MkVs");PSKey.Mode = cTID("Md  ");PSKey.Name = cTID("Nm  ");PSKey.Opacity = cTID("Opct");PSKey.To = cTID("T   ");PSKey.Type = cTID("Type");PSKey.Using = cTID("Usng");PSKey.Vertical = cTID("Vrtc");PSString.Null = sTID("null");PSString.addToSelectionContinuous = sTID("addToSelectionContinuous");PSString.presetKind = sTID("presetKind");PSString.presetKindDefault = sTID("presetKindDefault");PSString.presetKindType = sTID("presetKindType");PSString.selectionModifier = sTID("selectionModifier");PSString.selectionModifierType = sTID("selectionModifierType");PSType.BlendMode = cTID("BlnM");PSType.Ordinal = cTID("Ordn");PSUnit.Percent = cTID("#Prc");PSUnit.Pixels = cTID("#Pxl");
};
White.loadSymbols();
White.main = function() {White();
};
White.main();

3.代码转执行

  使用记事本或者notepad++等文本编辑器,将代码拷贝至文本文件,然后修改后缀名为js或者jsx,最后再PS软件菜单文件》脚本》浏览,点执行即可,也可以将脚本放在预设文件夹内,会显示再脚本下的二级子菜单。如下图所示:

4.作者答疑


  如有疑问,请留言。

Photoshop插件-晕影白色-脚本开发-PS插件相关推荐

  1. Photoshop插件-秋色效果-脚本开发-PS插件

    文章目录 1.插件界面 2.关键代码-秋色效果 3.作者答疑   PS是一款栅格图像编辑软件,具有许多强大的功能,本文演示如何通过脚本实现秋色效果相关功能,展示从互联网收集而来的一个小插件,供大家学习 ...

  2. Photoshop插件-锐化-高反差保留-脚本开发-PS插件

    文章目录 1.插件界面 2.关键代码 3.代码转执行 4.作者答疑   PS是一款栅格图像编辑软件,模块众多.提供了脚本,动态连接库等多种扩展机制,本文演示如何通过脚本实现高反差保留相关功能,展示从互 ...

  3. Photoshop插件-修复高光-脚本开发-PS插件

    文章目录 1.插件界面 2.关键代码-修复高光 3.代码转执行 4.作者答疑   PS是一款栅格图像编辑软件,模块众多.提供了脚本,动态连接库等多种扩展机制,本文演示如何通过脚本实现修复高光相关功能, ...

  4. Photoshop插件-全部色彩校正-脚本开发-PS插件

    文章目录 1.插件界面 2.关键代码--全部色彩校正 3.代码转执行 4.作者答疑   PS是一款栅格图像编辑软件,模块众多.提供了脚本,动态连接库等多种扩展机制,本文演示如何通过脚本实现全部色彩校正 ...

  5. Photoshop插件--证件照--1寸裁剪--1寸排版--脚本开发--PS插件

    文章目录 1.插件界面 2.关键代码 2.1.1寸裁剪 2.2.1寸排版   PS是一款栅格图像编辑软件,具有许多强大的功能,可以制作证件照,本文演示如何通过脚本实现1寸裁剪和1寸排版功能相关功能,展 ...

  6. Photoshop插件-保存-8位通道-16位通道-脚本开发-PS插件

    文章目录 1.插件界面 2.关键代码 2.1.8位通道 2.2.16位通道 3.代码转执行 4.作者答疑   PS是一款栅格图像编辑软件,具有许多强大的功能,本文演示如何通过脚本实现8位通道和16位通 ...

  7. Photoshop插件-锐化-多重调整锐化 (Web)-脚本开发-PS插件

    文章目录 1.插件界面 2.关键代码 3.代码转执行 4.作者答疑   PS是一款栅格图像编辑软件,模块众多.提供了脚本,动态连接库等多种扩展机制,本文演示如何通过脚本实现多重调整锐化 (Web)相关 ...

  8. Photoshop插件-色彩混合模式-盖印-删除-脚本开发-PS插件

    文章目录 1.插件界面 2.关键代码 2.1 色彩混合模式 2.2 盖印 2.3 删除 3.代码转执行 4.作者答疑   PS是一款栅格图像编辑软件,模块众多.提供了脚本,动态连接库等多种扩展机制,本 ...

  9. Photoshop插件-锐化-高反差保留仅边缘-脚本开发-PS插件

    文章目录 1.插件界面 2.关键代码 3.代码转执行 4.作者答疑   PS是一款栅格图像编辑软件,模块众多.提供了脚本,动态连接库等多种扩展机制,本文演示如何通过脚本实现高反差保留仅边缘相关功能,展 ...

最新文章

  1. 传美的投40亿进军卫浴行业
  2. Windows Terminal 1.0 正式发布
  3. python内置类属性_Python内置方法和属性应用:反射和单例(推荐)
  4. bzoj 1699: [Usaco2007 Jan]Balanced Lineup排队【st表||线段树】
  5. 【Linux】scp“免密” 远程copy较多文件
  6. Flask 【第七篇】Flask中的wtforms使用
  7. linux内核那些事之 VMA Gap
  8. MIT深度学习课堂开课啦,自动驾驶圈大牛排队来讲课丨资源
  9. windows系统之Hook实例DIPS
  10. 摘来的 esri 的 js 的 一些东西 来自ESRI中国社区 by xiaoyaohu
  11. win10修改git账号和密码
  12. Q12矩阵中的路径 回溯法
  13. 房产管理系统有哪些领先技术的应用?
  14. AirPods 3和AirPods Pro 哪个值得入手 两者配置对比
  15. 使用easyExcel实现浏览器下载Excel。
  16. 淘宝近12亿条用户信息泄露,犯罪分子获利34万
  17. SUST OJ 1642: 绝地求生—死亡顺序
  18. 2022年苏州大学872真题整理【回忆版】
  19. 差点延毕!国科大博士生丢失电脑,4天后毕业论文失而复得!
  20. 4u机架式服务器性能如何,兼顾成本与性能 4U机架式服务器再曝光

热门文章

  1. mysql group 更新递增_MySQL Group Replication在网易使用和优化实践
  2. 高斯算法——Java实现及效率对比
  3. css 窗口模式,如何:使用“CSS 属性”窗口
  4. 奇舞周刊第 440 期:一文彻底搞懂前端沙箱
  5. 微信小程序——聊天小程序——01环境搭建
  6. 食物美容黑手:哪些食物可能让你变丑
  7. HTTP-FLV交互抓包理解
  8. 攻略▍ERP不规范 同事两行泪 企业ERP建设的思考和密钥
  9. matlab一阶动态电路分析,MATLAB在一阶动态电路特性分析的应用
  10. 如何在桌面空白处单击鼠标右键出现的菜单中添加关机、重启等选项