Einzelnen Beitrag anzeigen
  #27  
Alt 31.05.19, 13:05
beetle04021969 beetle04021969 ist offline
hat sich eingelebt
 
Registriert seit: 04/2019
Ort: Hamm
Beiträge: 45
OS: Mac OS X
Kreativ-Software: CC 2019
beetle04021969 geht den richtigen Weg
Ich bin schon wieder ein paar Schritte weiter aber jetzt beiße ich mir an dem Thema ein Logo einfügen und auf 1cm in der Höhe verkleinern aus. Kannst Du mir vielleicht nochmal helfen?
Das Logo bekomme ich schon in mein Dokument aber wie bekomme ich es jetzt auf 1cm in der Höhe skaliert und behalte die Proportionen bei, zumal es für ein Dokument das immer die gleiche Größe hat, ja noch gehen würde aber 1cm ist ja je nach Auflösung (dpi) unterschiedlich?

Noch ein klitzekleine Frage und zwar, was muss ich ändern wenn ich nicht möchte das mein Bild beim resize die Auflösung (dpi) beibehält, sondern diese sich bei einer Vergrößerung verringert aber maximal auf 120dpi. Anders gesagt bis zu einer Auflösung von 120 dpi soll das Bild nicht neu berechnet werden, sondern nur die Auflösung angepasst werden bis die Maße stimmen, umso unnötige Qualitätsverluste zu umgehen.

Code:
#target photoshop

var originalRulerUnits = app.preferences.rulerUnits;
app.preferences.rulerUnits = Units.CM;

main ();
function main () {
if (app.documents.length < 1) {
alert ("No document open to resize.");
return;
}

var dlg;
var labelGroup;
var inputGroup;
var widthInput;
var heightInput;
var randInput;
var buttonGroup;
var okButton;
var cancelButton;

dlg = new Window("dialog", "Bildgröße und Rand?");
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, "Cancel");
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;
    
    doc.flatten()
  
	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));
    app.backgroundColor = black;
	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)
    
// Dokumentname zu Bildüberschrift

var docName = activeDocument.name;;
var neuerName1 = docName.replace("_", " ");
var neuerName2 = neuerName1.replace("_", " ");
var neuerName3 = neuerName2.replace("fertig-merged", "");
var neuerName4 = neuerName3.replace("fertig", "");
var neuerName5 = neuerName4.replace("finish", "");
var neuerName = neuerName5.replace(".psd", "");  

main2();
function main2(){
if(!documents.length) return;
var w = new Window ("dialog","Bildbeschriftung");
w.orientation = 'row';
w.alignment='top';
w.pnl = w.add('panel', undefined, undefined, {borderStyle:'black'});
w.g15 = w.pnl.add('group');
w.g15.alignment='left';
w.g15.st1 = w.g15.add('statictext',undefined,'Text');
w.g15.et1 = w.g15.add('edittext',undefined,widthInput.text+" x " + imageHeight + " " +neuerName+" Druck: www.feineart.de");
w.g15.et1.preferredSize=[600,20];
w.g20 = w.pnl.add('group');
w.g20.bu1 = w.g20.add('button',undefined,'Create Text');
w.g20.bu1.preferredSize=[140,25];
w.g20.bu2 = w.g20.add('button',undefined,'Cancel');
w.g20.bu2.preferredSize=[140,25];
w.g20.bu1.onClick=function(){
if(w.g15.et1.text == ''){
    alert('No text has been entered!');
    return;
    }
w.close(0);
var startRulerUnits = preferences.rulerUnits;
app.preferences.rulerUnits = Units.CM;
doc = app.activeDocument;

var artLayer = doc.artLayers.add();
	artLayer.kind = LayerKind.TEXT;
	var textItem = artLayer.textItem;
	textItem.contents = w.g15.et1.text;
	textItem.size = 13;
	textItem.font = "ArialMT";
	textItem.justification = Justification.CENTER;
	var textPosition = [doc.width / 2, .65];
    textItem.position = textPosition;
    artLayer.rotate(180, AnchorPosition.MIDDLECENTER);  

preferences.rulerUnits = startRulerUnits;
}
w.show();
}
  
	dlg.hide();
};

dlg.show();
}
//========================================================
app.preferences.rulerUnits = originalRulerUnits;
Das habe ich gefunden um das Logo einzufügen aber ich schaffe es nicht auf meine Bedürfnisse anzupassen.
Code:
/* ========================================================== 
// 2017  John J. McAssey (JJMack)  
// ======================================================= */  
// This script is supplied as is. It is provided as freeware.   
// The author accepts no liability for any problems arising from its use.  
/* 
<javascriptresource> 
<about>$$$/JavaScripts/PlaceWatermark/About=JJMack's PlaceWatermark ^r^rCopyright 2017 Mouseprints.net^r^rPhotoshop Script^rCustomize using first four var</about> 
<category>JJMack's Script</category> 
</javascriptresource> 
*/  
  
  
#target photoshop;    
app.bringToFront();    
var logoFile = "~/Desktop/JJMack.png"; // Watermark file should be large for resize down works better than up  
var LogoSize = 10; // percent of document height to resize Watermark to  
var LogoMargin = 1;                                         // percent of Document height the Watermark should have as a margin  
var BottomLetf = false; // false = Bottom Right true Bottom Left   
  
  
placeWatermark(logoFile, LogoSize, LogoMargin);             // Place Watermark into the bottom of the document  
  
  
function placeWatermark(Image,Size,Margin){    
if(!documents.length) return;  // if no document return  
try{    
var doc = app.activeDocument; // set Doc object to active document  
app.displayDialogs = DialogModes.NO; // Dialog off   
var strtRulerUnits = app.preferences.rulerUnits; // Save Users ruler units   
var strtTypeUnits = app.preferences.typeUnits; // Save Users Type units   
app.preferences.rulerUnits = Units.PIXELS; // work with pixels   
app.preferences.typeUnits = TypeUnits.PIXELS; // work with pixels   
var fileObj = new File(Image);                 // the passed file  
if(!fileObj.exists){  // If file does not exits tell user   
alert(fileObj.name  + " does not exist!");    
return;    
}    
var layers = app.activeDocument.layers; // get layers  
app.activeDocument.activeLayer = layers[0] // Target Top Layer  
placeFile(fileObj); // Place in file the Watermark png file  
activeDocument.activeLayer.resize(100 ,100,AnchorPosition.MIDDLECENTER); // Insure Place did not scale layer    
var SB = activeDocument.activeLayer.bounds; // get layers bounds   
var layerHeight = SB[3] - SB[1]; // get layers height    
var resizePercent = (100/layerHeight)*(Size/100*doc.height.value); // Percent to resize by   
activeDocument.activeLayer.resize(resizePercent ,resizePercent,AnchorPosition.MIDDLECENTER);  // Resize width and height by percentage   
SB = activeDocument.activeLayer.bounds; // get resized layers bounds    
activeDocument.activeLayer.translate(-SB[0].value,-SB[1].value); // Move resized layer to top left canvas corner   
var LayerWidth = (SB[2].value - SB[0].value); // get resized layers width    
var LayerHeight = (SB[3].value - SB[1].value);  // get resized layers height  
marginSize = Margin/100*doc.height.value; // Margin size  
// move resized watermark into the document lower right corner with some margin or lower left  
if  ( BottomLetf) {activeDocument.activeLayer.translate(marginSize,( doc.height.value -marginSize - LayerHeight));}  
else {activeDocument.activeLayer.translate((doc.width.value -marginSize - LayerWidth),( doc.height.value -marginSize - LayerHeight));}  
}  
catch(e) { alert(e + ': on line ' + e.line); } // inform user of error    
finally{    
app.preferences.rulerUnits = strtRulerUnits; // Restore user ruler units    
app.preferences.typeUnits = strtTypeUnits; // Restore user type units      
};    
};   
  
function placeFile(placeFile) {    
    var desc21 = new ActionDescriptor();    
    desc21.putPath( charIDToTypeID('null'), new File(placeFile) );    
    desc21.putEnumerated( charIDToTypeID('FTcs'), charIDToTypeID('QCSt'), charIDToTypeID('Qcsa') );    
    var desc22 = new ActionDescriptor();    
    desc22.putUnitDouble( charIDToTypeID('Hrzn'), charIDToTypeID('#Pxl'), 0.000000 );    
    desc22.putUnitDouble( charIDToTypeID('Vrtc'), charIDToTypeID('#Pxl'), 0.000000 );    
    desc21.putObject( charIDToTypeID('Ofst'), charIDToTypeID('Ofst'), desc22 );    
    executeAction( charIDToTypeID('Plc '), desc21, DialogModes.NO );    
};
Mit Zitat antworten
 
Seite wurde generiert in 0,02449 Sekunden mit 9 Queries