Was du da mit deinem Rand veranstaltest, leutet mir zwar nicht ganz ein (jedenfalls dann nicht, wenn man die ursprünglichen Vorgaben zu Grunde legt), aber da wirst du schon wissen, was du tust...
Hier mal nur auf die Schnelle eine halbgare Lösung...
Code:
#target photoshop
var originalRulerUnits = app.preferences.rulerUnits;
app.preferences.rulerUnits = Units.CM;
var dlg;
var labelGroup;
var inputGroup;
var widthInput;
var heightInput;
var randInput;
var buttonGroup;
var okButton;
var cancelButton;
dlg = new Window("dialog", "Form");
dlg.orientation = "row";
labelGroup = dlg.add("group");
labelGroup.orientation = "column";
labelGroup.add("statictext", undefined, "Breite cm:");
labelGroup.add("statictext", undefined, "Höhe cm:");
labelGroup.add("statictext", undefined, "Rand cm:");
inputGroup = dlg.add("group");
inputGroup.orientation = "column";
widthInput = inputGroup.add("edittext", undefined, "");
widthInput.characters = 10;
widthInput.active = true;
heightInput = inputGroup.add("edittext", undefined, "");
heightInput.characters = 10;
randInput = inputGroup.add("edittext", undefined, "");
randInput.characters = 10;
buttonGroup = dlg.add("group");
buttonGroup.orientation = "column";
okButton = buttonGroup.add("button", undefined, "OK");
cancelButton = buttonGroup.add("button", undefined, "Abbruch");
okButton.onClick = function() {
var doc;
var docWidth;
var docHeight;
var imageWidth;
var imageHeight;
var rand;
var black = new SolidColor();
black.rgb.hexValue = "000000";
app.backgroundColor = black;
var white = new SolidColor();
white.rgb.hexValue = "FFFFFF";
doc = app.activeDocument;
imageWidth = widthInput.text.replace(/,/g, '.');
imageWidth = new UnitValue(imageWidth, "cm");
imageHeight = heightInput.text.replace(/,/g, '.');
imageHeight = new UnitValue(imageHeight, "cm");
rand = randInput.text.replace(/,/g, '.');
rand = new UnitValue(rand, "cm");
doc.resizeImage(imageWidth - (rand * 2), imageHeight - (rand * 2));
doc.resizeCanvas(doc.width + 5 + rand * 2, doc.height + 5 + rand * 2, AnchorPosition.MIDDLECENTER)
app.backgroundColor = white;
doc.resizeCanvas(doc.width, doc.height + 1, AnchorPosition.BOTTOMCENTER)
var artLayer = doc.artLayers.add();
artLayer.kind = LayerKind.TEXT;
var textItem = artLayer.textItem;
textItem.contents = activeDocument.name;
textItem.size = 13;
textItem.font = "ArialMT";
textItem.justification = Justification.CENTER;
var textPosition = [doc.width / 2, .65];
textItem.position = textPosition;
dlg.hide();
};
dlg.show();
var originalRulerUnits = app.preferences.rulerUnits;
app.preferences.rulerUnits = Units.MM;
ps: Und zukünftig bitte die Code-Tags hier im Forum verwenden ... das macht es übersichtlicher...