স্ক্রিপ্টিং ফটোশপটির সাথে পরিচিত কারও জন্য একটি ফটোশপ ডকুমেন্ট থেকে অন্যটিতে স্তর অনুলিপি করার জন্য আমার বাধ্যতামূলক জাভাস্ক্রিপ্ট ম্যাক্রো। ম্যাকের সিএস 5.5-এ পরীক্ষিত এবং পরীক্ষিত।
sourceDocumentName
, targetDocumentName
এবং layersToCopy
আপনার প্রয়োজনগুলিতে সম্পাদনা করতে হবে এমন একমাত্র ভেরিয়েবল।
ম্যাক এ, আপনি ঠিক তেমন কিছু হিসাবে সংরক্ষণ করতে পারেন copyLayersBetweenDocs.jsx
, তারপরে চালানোর জন্য ফটোশপ আইকনে স্ক্রিপ্ট ফাইলটি টানুন-এন-ড্রপ করুন। উইন্ডোজে আপনাকে এটিকে স্ক্রিপ্ট ফোল্ডারে সংরক্ষণ করতে C:\Program Files\Common Files\Adobe\Startup Scripts CS5\Adobe Photoshop
হবে এবং ফটোশপ থেকে খুলতে হবে
#target photoshop
app.bringToFront();
var sourceDocumentName = 'source-doc';
var targetDocumentName = 'target-doc';
// populate this array with whatever the names of the layers
// you want to copy are
var layersToCopy = new Array(
'road-scenery',
'car',
'wheels',
'front-passenger',
'rear-passenger'
);
// alternatively, specify the name of a layer group containing
// the layers you want to copy over.
// Just uncomment the following line
//var layersToCopy = 'layer-group-to-copy';
copyLayers( layersToCopy, sourceDocumentName, targetDocumentName );
/**
* Copy layer from one document to another
* @param {string|Array} layersToCopy
* @param {string} sourceDocumentName
* @param {string} targetDocumentName
*/
function copyLayers( layersToCopy, sourceDocumentName, targetDocumentName ) {
var
sourceLayer,
targetLayer,
sourceGroup;
var sourceDoc = app.documents[sourceDocumentName];
var targetDoc = app.documents[targetDocumentName];
if ( app.activeDocument != sourceDoc ) {
app.activeDocument = sourceDoc;
}
if ( typeof layersToCopy === 'string' ) {
sourceGroup = sourceDoc.layerSets.getByName( layersToCopy );
targetLayer = sourceGroup.duplicate( targetDoc, ElementPlacement.PLACEATBEGINNING )
}
else if ( Object.prototype.toString.call( layersToCopy ) === '[object Array]' ) {
for ( var i = 0; i < layersToCopy.length; i++ ) {
sourceLayer = sourceDoc.artLayers.getByName( layersToCopy[i] );
targetLayer = sourceLayer.duplicate( targetDoc, ElementPlacement.PLACEATBEGINNING );
}
}
}