tengo la tarea de obtener todos los efectos de solidFill por capa, obtener el color de cada uno y ponerlo en el nombre de la capa. Lo pruebo con un efecto de "Superposición de color" y funciona. Pero, ¿qué debo hacer para ejecutar varios efectos de "Superposición de color"? Necesito poner cada color de cada efecto de "Superposición de color" para nombrarlo por hexadecimal. Mi código para un efecto:
if (BridgeTalk.appName == "photoshop") { var doc = app.activeDocument; var layers = activeDocument.artLayers; for (var i=0; i<layers.length; i++) { doc.activeLayer = layers[i]; solidFill(); } } function solidFill() { var fxDesc = getFxDesc(); doc.activeLayer.name = fxDesc.p var solidDesc = getSolidFillDesc(fxDesc); } function modifyLayerName(desc) { var colObj = desc.getObjectValue(stringIDToTypeID("color")); var redHex = (0 + colObj.getDouble(charIDToTypeID("Rd ")).toString(16)).slice(-2); var grnHex = (0 + colObj.getDouble(charIDToTypeID("Grn ")).toString(16)).slice(-2); var blHex = (0 + colObj.getDouble(charIDToTypeID("Bl ")).toString(16)).slice(-2); doc.activeLayer.name = '#' + redHex + grnHex + blHex; } function getFxDesc(){ var ref = new ActionReference(); ref.putEnumerated( charIDToTypeID("Lyr "), charIDToTypeID("Ordn"), charIDToTypeID("Trgt") ); var desc = executeActionGet(ref); if(desc.hasKey(stringIDToTypeID('layerEffects'))){ var fxDesc = desc.getObjectValue(stringIDToTypeID('layerEffects')); } if(undefined != fxDesc) return fxDesc; else doc.activeLayer.name = "nothing"; }; function getSolidFillDesc(desc) { if(desc.hasKey(stringIDToTypeID('solidFill'))){ var solidFillDesc = desc.getObjectValue(stringIDToTypeID('solidFill')); } if(undefined != solidFillDesc) return solidFillDesc; }pero puedo agregar varios efectos de superposición de color para la capa y ¿cómo debo obtener todo para verificar cada color de ellos?