我想在其中创建带图像的新图层。我没有为这个问题找到任何有用或正确的答案。
我现在正在做的是:
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
上面的代码打开新文档/选项卡并执行简单的逻辑,然后关闭新文档并将我带回旧文档并粘贴图像我需要的内容。
我不喜欢这种方法,因为用户可以看到文档如何闪烁/打开/关闭。
我正在寻找一种简单的方法,允许将图像插入到当前活动的文档中,而无需打开新的文档。
答案 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 );