Seleção de cores.
var color = app.foregroundColor.rgb.hexValue;
Estou procurando um javascript que possa ser executado no Photoshop. Idealmente, o script converterá uma série de caminhos de recorte em camadas - e, em seguida, preencherá a camada (definida pelo caminho de recorte) com preto. Se possível, gostaria que a camada retivesse o nome do caminho de recorte e também que as camadas aparecessem na mesma ordem dos caminhos de recorte. Por exemplo, se o primeiro caminho de recorte foi chamado "Porta", então eu gostaria que a Camada 1 fosse a seção da porta ... e que ela fosse chamada de "Porta". Além disso, seria bom ter a seleção para ser preenchida com preto. Assim, a camada "Porta" teria a seleção da porta preenchida com preto e tudo o mais seria transparente.
Alguém pode ajudar?
// Create solid fills based on paths array
// hex value: FFFFFF is white, FF0000 is red, and so on.
var color = "000000";
var paths = app.activeDocument.pathItems;
var pathsLength = paths.length;
var newLayers = [];
// create solid fill layers
for(var i = 0; i < pathsLength; i++)
{
selectPath(paths[i].name);
createFill(color);
var fill = app.activeDocument.activeLayer;
fill.name = paths[i].name;
newLayers.push(app.activeDocument.activeLayer);
}
/*
// combine shapes
for(var i = 0; i < newLayers.length; i++)
{
app.activeDocument.activeLayer = newLayers[i];
selectPath(newLayers[i].name + " Shape Path");
combineShapes();
}
*/
// select path by name
function selectPath(name)
{
var idslct = charIDToTypeID( "slct" );
var desc50 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref34 = new ActionReference();
var idPath = charIDToTypeID( "Path" );
ref34.putName( idPath, name );
desc50.putReference( idnull, ref34 );
executeAction( idslct, desc50, DialogModes.NO );
};
// create solid fill based on selected path items
function createFill(hexValue)
{
var color = new SolidColor();
color.rgb.hexValue = hexValue != undefined ? hexValue : "000000";
var idMk = charIDToTypeID( "Mk " );
var desc51 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref35 = new ActionReference();
var idcontentLayer = stringIDToTypeID( "contentLayer" );
ref35.putClass( idcontentLayer );
desc51.putReference( idnull, ref35 );
var idUsng = charIDToTypeID( "Usng" );
var desc52 = new ActionDescriptor();
var idType = charIDToTypeID( "Type" );
var desc53 = new ActionDescriptor();
var idClr = charIDToTypeID( "Clr " );
var desc54 = new ActionDescriptor();
var idRd = charIDToTypeID( "Rd " );
desc54.putDouble( idRd, color.rgb.red );
var idGrn = charIDToTypeID( "Grn " );
desc54.putDouble( idGrn, color.rgb.green );
var idBl = charIDToTypeID( "Bl " );
desc54.putDouble( idBl, color.rgb.blue );
var idRGBC = charIDToTypeID( "RGBC" );
desc53.putObject( idClr, idRGBC, desc54 );
var idsolidColorLayer = stringIDToTypeID( "solidColorLayer" );
desc52.putObject( idType, idsolidColorLayer, desc53 );
var idcontentLayer = stringIDToTypeID( "contentLayer" );
desc51.putObject( idUsng, idcontentLayer, desc52 );
executeAction( idMk, desc51, DialogModes.NO );
};
// select color fill items and combine shapes
function combineShapes()
{
var idslct = charIDToTypeID( "slct" );
var desc55 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref36 = new ActionReference();
var idPath = charIDToTypeID( "Path" );
var idPath = charIDToTypeID( "Path" );
var idvectorMask = stringIDToTypeID( "vectorMask" );
ref36.putEnumerated( idPath, idPath, idvectorMask );
var idLyr = charIDToTypeID( "Lyr " );
var idOrdn = charIDToTypeID( "Ordn" );
var idTrgt = charIDToTypeID( "Trgt" );
ref36.putEnumerated( idLyr, idOrdn, idTrgt );
desc55.putReference( idnull, ref36 );
executeAction( idslct, desc55, DialogModes.NO );
};
Seleção de cores.
var color = app.foregroundColor.rgb.hexValue;
Tags mac javascript path adobe-photoshop