Ist es möglich, alle Ebenen zu durchlaufen (es gibt zu viele Ebenen) und eine Farbe durch eine andere zu ersetzen? Benötigen Sie einen automatisierten Ansatz, ein Skript oder eine einfache Aktion.
Loop through all layers{
Change Fill color A to X
Change Text color A to X
}
Das Ändern der Textfarbe A in X ist einfach (vorausgesetzt, Sie haben keine Gruppen, dann wird es etwas komplexer):
var colourA = "28bd98";
var colourY = "ff00ff";
changeFontColour(colourA, colourY);
function changeFontColour(X,Y)
{
var numOfLayers = app.activeDocument.layers.length;
// main loop
for (var i = numOfLayers -1; i >= 0 ; i--)
{
var thisLayer = app.activeDocument.layers[i];
if (app.activeDocument.layers[i].kind == 'LayerKind.TEXT')
{
var currentFontCol = getFontColour(thisLayer);
// alert(currentFontCol + "\n" + X);
if (currentFontCol.toUpperCase() == X.toUpperCase())
{
var myColour = new SolidColor();
var RGB = HEXtoRGB(Y);
myColour.rgb.red = RGB[0];
myColour.rgb.green = RGB[1];
myColour.rgb.blue = RGB[2];
// replace text colour
thisLayer.textItem.color = myColour;
}
}
} //end of loop
}
function getFontColour(alayer)
{
var fontColor = alayer.textItem.color;
return fontColor.rgb.hexValue;
}
function HEXtoRGB (hex)
{
var c = 1
if (hex.charAt(0) != "#") c = 0;
var r = parseInt(hex.substring(c,c+2),16)
var g = parseInt(hex.substring(c+2,c+4),16)
var b = parseInt(hex.substring(c+4,c+6),16)
return [r, g, b];
}
Stegathesaurus
XIMRX
Image > Adjustment > Replace color
, um eine Farbe zu ändern, muss dieser Vorgang automatisiert werden, wenn wir zu viele Ebenen haben.