Quantcast
Channel: Adobe Community: Message List - Photoshop Scripting
Viewing all articles
Browse latest Browse all 27456

Re: How to create a script to take channel's name and insert as text into channel in CS5

$
0
0

This script combines adding the marks and labels in one script.

 

// the file used as registration mark
var markFile = new File('~/desktop/reg_mark.eps');
var doc = app.activeDocument;
// the color used for the text
var black = new SolidColor();
black.rgb.hexValue = '000000';
var currentLayer = doc.activeLayer;
var textLayer = doc.artLayers.add();
textLayer.kind = LayerKind.TEXT;
// font requires the postscript name of the font
textLayer.font = "ArialMT";
textLayer.textItem.size = new UnitValue(9,'pt');
textLayer.textItem.justification = Justification.RIGHT;
// set the position for the text. this sets to top right corner of the channel
// here it is set so the text baseline ends  40pts from the right edge, 15pts down
textLayer.textItem.position = [new UnitValue(doc.width.as('pt')-50,'pt'),new UnitValue(15,'pt')];
textLayer.textItem.contents = 'label';// temp label string
makeMarksLayer();
var marksLayer = doc.activeLayer;

for(var channelIndex = 0; channelIndex<doc.channels.length; channelIndex++){    var newTextLayer = textLayer.duplicate();    doc.activeLayer = newTextLayer;    newTextLayer.textItem.contents = doc.channels[channelIndex].name;    loadActiveLayerTransparencyToSelection();    doc.activeLayer = currentLayer;    doc.activeChannels = [doc.channels[channelIndex]];    doc.selection.fill(black);    doc.selection.deselect();    doc.activeLayer = marksLayer;    loadActiveLayerTransparencyToSelection();    doc.activeLayer = currentLayer;    doc.selection.fill(black);    doc.selection.deselect();    selectComponentChannel();    newTextLayer.remove();
}
textLayer.remove();
marksLayer.remove();

function loadActiveLayerTransparencyToSelection() {
    var desc = new ActionDescriptor();        var ref = new ActionReference();        ref.putProperty( charIDToTypeID('Chnl'), charIDToTypeID('fsel') );    desc.putReference( charIDToTypeID('null'), ref );        var ref = new ActionReference();        ref.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Trsp') );    desc.putReference( charIDToTypeID('T   '), ref );    executeAction( charIDToTypeID('setd'), desc, DialogModes.NO );
};
function selectComponentChannel() {    try{        var map = {}        map[DocumentMode.GRAYSCALE] = charIDToTypeID('Blck');        map[DocumentMode.RGB] = charIDToTypeID('RGB ');        map[DocumentMode.CMYK] = charIDToTypeID('CMYK');        map[DocumentMode.LAB] = charIDToTypeID('Lab ');        var desc = new ActionDescriptor();            var ref = new ActionReference();            ref.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), map[app.activeDocument.mode] );        desc.putReference( charIDToTypeID('null'), ref );        executeAction( charIDToTypeID('slct'), desc, DialogModes.NO );    }catch(e){}
};
function makeMarksLayer(){    var markLayer = doc.artLayers.add();    executeAction( stringIDToTypeID( "newPlacedLayer" ), undefined, DialogModes.NO );    executeAction( stringIDToTypeID( "placedLayerEditContents" ), new ActionDescriptor(), DialogModes.NO );    var smartObjectDoc = app.activeDocument;    placeEPS(markFile);    var placedLayer = smartObjectDoc.activeLayer;    smartObjectDoc.selection.selectAll();    alignTopLeft();    placedLayer.duplicate();    alignTopCenter();    placedLayer.duplicate();    alignTopRight();    placedLayer.duplicate();    alignBottomLeft();    placedLayer.duplicate();    alignBottomCenter();    placedLayer.duplicate();    alignBottomRight();    smartObjectDoc.close(SaveOptions.SAVECHANGES);
};
function placeEPS(file) {    var desc = new ActionDescriptor();        var desc1 = new ActionDescriptor();        desc1.putEnumerated( charIDToTypeID('fsel'), stringIDToTypeID('pdfSelection'), stringIDToTypeID('page') );        desc1.putInteger( charIDToTypeID('PgNm'), 1 );        desc1.putEnumerated( charIDToTypeID('Crop'), stringIDToTypeID('cropTo'), stringIDToTypeID('artBox') );    desc.putObject( charIDToTypeID('As  '), charIDToTypeID('PDFG'), desc1 );    desc.putPath( charIDToTypeID('null'), new File( file ) );    desc.putEnumerated( charIDToTypeID('FTcs'), charIDToTypeID('QCSt'), charIDToTypeID('Qcsa') );    desc.putUnitDouble( charIDToTypeID('Wdth'), charIDToTypeID('#Prc'), 100.000000 );    desc.putUnitDouble( charIDToTypeID('Hght'), charIDToTypeID('#Prc'), 100.000000 );    desc.putBoolean( charIDToTypeID('Lnkd'), true );    desc.putBoolean( charIDToTypeID('AntA'), true );    executeAction( charIDToTypeID('Plc '), desc, DialogModes.NO );
};
function align(type){   var desc = new ActionDescriptor();     var ref = new ActionReference();       ref.putEnumerated( charIDToTypeID( "Lyr " ), charIDToTypeID( "Ordn" ), charIDToTypeID( "Lnkd" ));   desc.putReference( charIDToTypeID( "null" ), ref);   desc.putEnumerated( charIDToTypeID( "Usng" ),charIDToTypeID( "ADSt" ), charIDToTypeID( type ) );   executeAction( charIDToTypeID( "Algn" ), desc, DialogModes.NO );;
};
function alignCenter(){  align("AdCH");  align("AdCV");
};
function alignTopLeft(){  align("AdTp");  align("AdLf");
};
function alignTopCenter(){  align("AdTp");  align("AdCH");
};
function alignTopRight(){  align("AdTp");  align("AdRg");
};
function alignBottomLeft(){  align("AdBt");  align("AdLf");
};
function alignBottomCenter(){  align("AdBt");  align("AdCH");
};
function alignBottomRight(){  align("AdBt");  align("AdRg");
};

Viewing all articles
Browse latest Browse all 27456

Trending Articles