Skip to main content
Inspiring
July 24, 2013
Answered

How to disable the effects in the layer?

  • July 24, 2013
  • 1 reply
  • 1258 views

Hello everyone!

How to disable script effects in the layer? For example, a stroke.

This topic has been closed for replies.
Correct answer

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 ();

1 reply

July 24, 2013


// 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 hideLayerEffects (effects)

{

    var desc = new ActionDescriptor ();

    var list = new ActionList ();

    var refs = [ ];

    for (var i = 0; i < effects.length; i++)

    {

        refs = new ActionReference ();

        refs.putClass (stringIDToTypeID (effects));

        refs.putEnumerated (stringIDToTypeID ("layer"), stringIDToTypeID ("ordinal"), stringIDToTypeID ("targetEnum"));

        list.putReference (refs);

    }

    desc.putList (stringIDToTypeID ("target"), list);

    executeAction (stringIDToTypeID ("hide"), desc, DialogModes.NO );

}

function hideLayerEffect (effect)

{

    hideLayerEffects ([ effect ]);

}

Examples:

// Hide stroke effect

hideLayerEffect ("frameFX");

// Hide both stroke and bevel and emboss effects

hideLayerEffects ([ "frameFX", "bevelEmboss" ]);

HTH,

     --Mikaeru

Andy_Bat1Author
Inspiring
July 24, 2013

Thanks !!!