如何使用ps脚本修改混合选项
How do you modify blending options with a photoshop script?
我有一个Photoshop Javascript脚本,在不同的图层中循环,我想根据图层的名称给每个图层一个不同的外发光。
有人能给一个例子,如何改变一个ArtLayer类编程的混合选项?
不幸的是,没有简单的方法来添加图层样式。
有.applyStyle("Puzzle (Image)")
,但文档中没有包含其他样式,而且 我 在任何地方都找不到其他样式。
所以你必须使用变通方法(棘手而复杂的过程)。
步骤1(如果您需要现成的溶液,请跳过)
首先,你需要做动作(添加外层发光层),然后转换为。jsx脚本。
你需要使用这个脚本进行转换:http://ps-scripts.cvs.sourceforge.net/viewvc/ps-scripts/xtools/apps/ActionToJavascript.jsx?revision=1.29
从Ps或ExtendScript中运行,选择您的操作并保存。
步骤2在你新创建的脚本中,你会看到可怕的和不可读的代码,它会立即工作,但是你需要make函数,如果你想使用不同的设置(颜色,不透明度,混合模式等)。
这是干净的版本。
cTID = function(s){ return app.charIDToTypeID(s); };
sTID = function(s){ return app.stringIDToTypeID(s); };
// Add Style: Glow
function addStyleGlow( R, G, B, blendingMode, opacity, spread, size ){
var desc1 = new ActionDescriptor();
var ref1 = new ActionReference();
ref1.putProperty(cTID('Prpr'), cTID('Lefx'));
ref1.putEnumerated(cTID('Lyr '), cTID('Ordn'), cTID('Trgt'));
desc1.putReference(cTID('null'), ref1);
var desc2 = new ActionDescriptor();
desc2.putUnitDouble(cTID('Scl '), cTID('#Prc'), 100);
// Glow color
var desc4 = new ActionDescriptor();
var rgb = new Array();
desc4.putDouble(cTID('Rd '), R);
desc4.putDouble(cTID('Grn '), G);
desc4.putDouble(cTID('Bl '), B);
// Blending mode of the effect
var desc3 = new ActionDescriptor();
desc3.putBoolean(cTID('enab'), true);
desc3.putEnumerated( cTID('Md '), cTID('BlnM'), cTID(blendingMode) );
desc3.putObject(cTID('Clr '), sTID("RGBColor"), desc4);
// Opacity
desc3.putUnitDouble(cTID('Opct'), cTID('#Prc'), opacity);
desc3.putEnumerated(cTID('GlwT'), cTID('BETE'), cTID('SfBL'));
// Spread
desc3.putUnitDouble(cTID('Ckmt'), cTID('#Pxl'), spread);
// Size
desc3.putUnitDouble(cTID('blur'), cTID('#Pxl'), size);
// Noise
desc3.putUnitDouble(cTID('Nose'), cTID('#Prc'), 0);
// Quality: Jitter
desc3.putUnitDouble(cTID('ShdN'), cTID('#Prc'), 0);
desc3.putBoolean(cTID('AntA'), true);
var desc5 = new ActionDescriptor();
desc5.putString(cTID('Nm '), "Linear");
desc3.putObject(cTID('TrnS'), cTID('ShpC'), desc5);
// Quality: Range
desc3.putUnitDouble(cTID('Inpr'), cTID('#Prc'), 50);
desc2.putObject(cTID('OrGl'), cTID('OrGl'), desc3);
desc1.putObject(cTID('T '), cTID('Lefx'), desc2);
executeAction(cTID('setd'), desc1, DialogModes.NO);
}; // End of Add Style: Glow
步骤3 您将需要另一个脚本文件来调用该函数,将其放在相同的文件夹中(替换"antoxa_myGlow")。Jsx "与您的脚本名称)
//@include "antoxa_myGlow.jsx"
// R, G, B, blend mode, opacity, spread, size
addStyleGlow(255, 255, 54, 'Nrml', 75, 0, 5);
目前它将工作只有一个选定的层,如果你选择多个层,它会给你错误。
相关文章:
- 我的单元测试选项是什么
- 如何更改bigquery API中的计费层选项
- 使用Javascript获取所选选项ID
- Selectize.js:如何对整数值的选项进行排序
- 通过js在新选项卡中有条件地打开url
- 按照选项卡索引的顺序循环一个jQuery选择
- 如何在使用selectBoxIt JQuery插件时检测选项更改
- 无法在Ionic select中预先选择最后一个选项
- 如何在选项卡上定义属性'的主窗口对象
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 使用此选项选择父类内部的类
- CKeditor:更改对话框中的默认选择选项
- JQuery覆盖不更改单选选项
- 活动选项卡's源代码-获取变量s值
- 绑定时将Parsley minlength消息作为选项传递时,未对其进行自定义
- 如何从选择框中的选项中获取属性值
- 过滤”;溢价;页面加载选项使用混合
- 将其混合在选项卡1中不起作用,但在另一个选项卡中起作用,即chrome和移动设备中的选项卡2
- 如何使用ps脚本修改混合选项
- 是否可以在带有和不带组的 ng 选项中混合元素