在Photoshop中将图像作为新图层插入

时间:2016-10-06 01:51:08

标签: photoshop extendscript photoshop-script

我想在其中创建带图像的新图层。我没有为这个问题找到任何有用或正确的答案。

我现在正在做的是:

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 个答案:

答案 0 :(得分: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 );