How to disable the effects in the layer?
Hello everyone!
How to disable script effects in the layer? For example, a stroke.
Hello everyone!
How to disable script effects in the layer? For example, a stroke.
For the sake of completeness, if you ever need to permanently remove layer effects:
// Effects among:
// "bevelEmboss" (Bevel and Emboss)
// "frameFX" (Stroke)
// "innerShadow" (Inner Shadow)
// "innerGlow" (Inner Glow)
// "chromeFX" (Satin)
// "solidFill" (Color Overlay)
// "gradientFill" (Gradient Overlay)
// "patternFill" (Pattern Overlay)
// "outerGlow" (Outer Glow)
// "dropShadow" (Drop Shadow)
function deleteLayerEffect (effect)
{
try
{
var desc = new ActionDescriptor ();
var ref = new ActionReference ();
ref.putClass (stringIDToTypeID (effect));
ref.putEnumerated (stringIDToTypeID ("layer"), stringIDToTypeID ("ordinal"), stringIDToTypeID ("targetEnum"));
desc.putReference (stringIDToTypeID ("target"), ref);
executeAction (stringIDToTypeID ("disableSingleFX"), desc, DialogModes.NO );
}
catch (e)
{
}
}
function deleteLayerEffects (effects)
{
for (var i = 0; i < effects.length; i++)
{
deleteLayerEffect (effects);
}
}
function clearAllLayerEffects ()
{
try
{
var desc = new ActionDescriptor ();
var ref = new ActionReference ();
ref.putEnumerated (stringIDToTypeID ("layer"), stringIDToTypeID ("ordinal"), stringIDToTypeID ("targetEnum"));
desc.putReference (stringIDToTypeID ("target"), ref);
executeAction (stringIDToTypeID ("disableLayerFX"), desc, DialogModes.NO );
}
catch (e)
{
}
}
Examples:
// Delete stroke effect
deleteLayerEffect ("frameFX");
// Delete both stroke and bevel-and-emboss effects
deleteLayerEffects ([ "frameFX", "bevelEmboss" ]);
// Clear all effects
clearAllLayerEffects ();
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.