2016-10-06 3 views
0

Я хочу создать новый слой с изображением в нем. Я не нашел ничего полезного или правильного ответа на этот вопрос.Вставить изображение как новый слой в Photoshop

Что я делаю сейчас:

var oldActive = app.activeDocument; 
app.load(new File(path)); //load it into documents 
var tempDoc = app.activeDocument; 
// backFile.resizeImage(width, height); //resize image into given size i.e 640x480 
tempDoc.selection.selectAll(); 
tempDoc.selection.copy(); //copy image into clipboard 
tempDoc.close(SaveOptions.DONOTSAVECHANGES); //close image without saving changes 
oldActive.paste(); //paste selection into your document 

Код выше открывает новый документ/вкладки и делает простую логику, а затем закрывает новый документ и возвращает меня к старой и пастами изображения, что мне нужно.

Мне не нравится этот подход, потому что пользователь может видеть, как документы мигают/открываются/закрываются.

Я ищу простой способ, который позволяет вставлять изображение в текущий активный документ без открытия новых.

ответ

1

Хорошо, ребята. Таким образом, это правильный способ вставить изображение по пути в текущий активный документ без открытия новых:

var sourceFile= new File(path); 
var idPlc = charIDToTypeID("Plc "); 
var desc3 = new ActionDescriptor(); 
var idnull = charIDToTypeID("null"); 
desc3.putPath(idnull, sourceFile); 
var idFTcs = charIDToTypeID("FTcs"); 
var idQCSt = charIDToTypeID("QCSt"); 
var idQcsa = charIDToTypeID("Qcsa"); 
desc3.putEnumerated(idFTcs, idQCSt, idQcsa); 
executeAction(idPlc, desc3, DialogModes.NO);