2016-10-06 2 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

좋습니다. 따라서 경로를 기준으로 현재 activeDocument에 새 이미지를 열지 않고 이미지를 붙여 넣는 올바른 방법은 다음과 같습니다.

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);