如何在 .jsx 文件中将绝对路径更改为相对路径。 (Photoshop 扩展脚本)?
How to change absolute path to relative in .jsx file. (Photoshop extension script)?
我在开发 Photoshop 扩展时遇到问题。
我已经生成了我在 .jsx 文件中编写的操作代码。我需要将绝对路径更改为相对路径,以便用户可以访问该文件,无论扩展安装在何处。
.jsx 文件:
function step7(enabled, withDialog) {
if (enabled != undefined && !enabled)
return;
var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
var desc1 = new ActionDescriptor();
desc1.putInteger(cTID('Idnt'), 4);
desc1.putPath(cTID('null'), new File("~/AppData/Roaming/Adobe/CEP/extensions/Mockups_Extension/psd/texture.png"));
desc1.putEnumerated(cTID('FTcs'), cTID('QCSt'), sTID("QCSAverage"));
var desc2 = new ActionDescriptor();
desc2.putUnitDouble(cTID('Hrzn'), cTID('#Pxl'), -1.13686837721616e-13);
desc2.putUnitDouble(cTID('Vrtc'), cTID('#Pxl'), 0);
desc1.putObject(cTID('Ofst'), cTID('Ofst'), desc2);
desc1.putUnitDouble(cTID('Wdth'), cTID('#Prc'), 249.5);
desc1.putUnitDouble(cTID('Hght'), cTID('#Prc'), 249.5);
executeAction(cTID('Plc '), desc1, dialogMode);
};
非常感谢任何帮助。
您需要从 CEP 端传递您的扩展路径。
CEP:
//when initialization happens
var extensionRoot = csInterface.getSystemPath(SystemPath.EXTENSION);
csInterface.evalScript('updateGlobalVars("' + extensionRoot + '")', function() {
csInterface.evalScript('step7()');
});
JSX:
var pathToExtension = '';
function updateGlobalVars(path) {
pathToExtension = path;
};
function step7(arg1, arg2) {
alert(pathToExtension)
};
我在开发 Photoshop 扩展时遇到问题。 我已经生成了我在 .jsx 文件中编写的操作代码。我需要将绝对路径更改为相对路径,以便用户可以访问该文件,无论扩展安装在何处。
.jsx 文件:
function step7(enabled, withDialog) {
if (enabled != undefined && !enabled)
return;
var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
var desc1 = new ActionDescriptor();
desc1.putInteger(cTID('Idnt'), 4);
desc1.putPath(cTID('null'), new File("~/AppData/Roaming/Adobe/CEP/extensions/Mockups_Extension/psd/texture.png"));
desc1.putEnumerated(cTID('FTcs'), cTID('QCSt'), sTID("QCSAverage"));
var desc2 = new ActionDescriptor();
desc2.putUnitDouble(cTID('Hrzn'), cTID('#Pxl'), -1.13686837721616e-13);
desc2.putUnitDouble(cTID('Vrtc'), cTID('#Pxl'), 0);
desc1.putObject(cTID('Ofst'), cTID('Ofst'), desc2);
desc1.putUnitDouble(cTID('Wdth'), cTID('#Prc'), 249.5);
desc1.putUnitDouble(cTID('Hght'), cTID('#Prc'), 249.5);
executeAction(cTID('Plc '), desc1, dialogMode);
};
非常感谢任何帮助。
您需要从 CEP 端传递您的扩展路径。
CEP:
//when initialization happens
var extensionRoot = csInterface.getSystemPath(SystemPath.EXTENSION);
csInterface.evalScript('updateGlobalVars("' + extensionRoot + '")', function() {
csInterface.evalScript('step7()');
});
JSX:
var pathToExtension = '';
function updateGlobalVars(path) {
pathToExtension = path;
};
function step7(arg1, arg2) {
alert(pathToExtension)
};