|
#1
|
|||
|
|||
Javascript Größe auf 1zu1 bringen
Hallo,
wir müssen sehr regelmäßig etliche Dokumente in 1 zu 1 ausdrucken die wir vorher mit Maßstab fotografiert haben. Das sind etliche blöde Schritte die ich gerne vereinfacht hätte damit es schneller und sicherer funktioniert. Hab mal angefangen ein Eingabefeld in JavaScript zu schreiben. Das funktioniert auch schon ziemlich gut. Probleme hab ich beim Werte kopieren und eintragen über JavaScript Also die Werte aus dem Menü kopieren und in PS eintragen. //Bildauflösung Wert kopieren;// Bildauflösung Wert in das Auswahlwerkzeug eintragen; und //Ausschneidewerkzeug anwählen Wer kennt sich den in JavaScript gut aus und weiß wie die Befehle heißen? Gunnar Script: // Größe per JavaScript auf 1 zu 1 bringen //startet Photoshop #target photoshop app.bringToFront(); //Ausschneidewerkzeug auswählen //nach ausschneiden Menü starten //Nun beginnt der eigentliche Aufbau des Dialogs. Die Maße werden immer in der Reihenfolge [links, oben, rechts, unten] angegeben. Das sind immer die X- und Y-Koordinaten der linken oberen und rechten unteren Ecke. Um dies zu vereinfachen, wird das Fensterobjekt für den Eingabedialog mit egdg für »Eigener Dialog« abgekürzt. Zunächst muss dieses Fensterobjekt aber erst einmal erzeugt werden. //Menü //Überschrift 1 var egdg = new Window ('dialog', 'Größe per JavaScript auf 1 zu 1 bringen', [200,200,560,420]); //Überschrift 2 egdg.oben = egdg.add('panel',[15,10,340,150], 'Ausrichtung und Größe des Maßbandes'); //Unterschrift egdg.oben.pixels = egdg.oben.add ('statictext',[15,80,300,40],'Immer nur ein Wert eintragen Quer oder Hoch!!'); //Größe in cm Quer egdg.oben.label_xy = egdg.oben.add ('statictext',[15,20,150,40],'Quer Maßband-Größe: '); egdg.oben.docx = egdg.oben.add //Eingabefeld ('edittext',[150,20,180,40],''); egdg.oben.pixels = egdg.oben.add ('statictext',[235,20,300,40],' cm'); //Größe in cm hoch egdg.oben.label_xy = egdg.oben.add ('statictext',[15,45,150,65],'Hoch Maßband-Größe: '); egdg.oben.docy = egdg.oben.add //Eingabefeld ('edittext',[150,45,180,65],''); egdg.oben.pixels = egdg.oben.add ('statictext',[235,45,300,65],' cm'); //OK und Abbrechen Button egdg.unten = egdg.add('panel', [15,155,340,210],'Ausführen'); egdg.unten.ok = egdg.unten.add('button', [25,15,85,35],'OK', {name:'ok'}); egdg.unten.cancel = egdg.unten.add('button', [100,15,200,35],'Abbrechen', {name:'cancel'}); var ok = egdg.show() == 1; //Die Variable ok wird gebraucht, damit alles Folgende nur ausgeführt wird, wenn ein Klick auf den OK-Button erfolgt ist. Beim Klick auf Abbrechen verschwindet der Dialog. var ok = egdg.show() == 1; //Die Floskel with (egdg.oben) erspart es uns, zusammen mit der geschweiften Klammer die beiden übergeordneten Objekte vor jedes abgefragte Element zu schreiben. with (egdg.oben){ //Zahlenwerte für die Maßstabsgröße, die als Text übergeben werden, in Zahlen umgewandelt. Mit UnitValue in eine Einheit mit Wert umgewandelt var Dok_Breite = UnitValue(docx.text,"px"); var Dok_Hoehe = UnitValue(docy.text,"px"); } //wenn OK gedrückt if(ok==true){ //wenn breite größer 0 if((Dok_Breite*1 ) >(0)){ // breite eintragen in die Bildgröße (fehlt noch) } //wenn höhe größer 0 if((Dok_Hoehe*1)>(0)) // höhe eintrage in die Bildgröße (fehlt noch) } else{ // wenn breite und höhe nicht größer 0 dann sprimg zum Eingabefeld (fehlt noch) } //Bildauflösung Wert kopieren (fehlt noch) // Bildauflösung Wert in das Auswahlwerkzeug eintragen (fehlt noch) //Beschnittenede Datei wieder durch Rückschritt herstellen (fehlt noch) //Ausschneidewerkzeug anwählen (fehlt noch) Geändert von Sidamo (09.01.17 um 12:08 Uhr). |
#2
|
|||
|
|||
Das Ausschneidewerkzeug = Crop Tool
Die Bildgröße hat ja mit Höhe, Breite und Auflösung gleich Felder ist wohl aber ein anderes Werkzeug oder? Wie heißt das denn? Ist das resitzeImag? Gunnar |
#3
|
|||
|
|||
Wenn ich die
Bildgröße in Höhe 10 cm, 72 DPI, 283 Pixel ändere zeichnet PS 5.1 das auf: // ================================================== ===== var idImgS = charIDToTypeID( "ImgS" ); var desc3 = new ActionDescriptor(); var idHght = charIDToTypeID( "Hght" ); var idRlt = charIDToTypeID( "#Rlt" ); desc3.putUnitDouble( idHght, idRlt, 283.464567 ); var idRslt = charIDToTypeID( "Rslt" ); var idRsl = charIDToTypeID( "#Rsl" ); desc3.putUnitDouble( idRslt, idRsl, 72.000000 ); var idCnsP = charIDToTypeID( "CnsP" ); desc3.putBoolean( idCnsP, true ); var idIntr = charIDToTypeID( "Intr" ); var idIntp = charIDToTypeID( "Intp" ); var idBcbc = charIDToTypeID( "Bcbc" ); desc3.putEnumerated( idIntr, idIntp, idBcbc ); executeAction( idImgS, desc3, DialogModes.NO ); Das sehe ich dort raus Auflösung = desc3.putUnitDouble( idRslt, idRsl, 72.000000 ); 10 cm = Pixel 283 = desc3.putUnitDouble( idHght, idRlt, 283.464567 ); Höhe = Hght Gunnar |
#4
|
||||
|
||||
Klingt plausibel...
Warum druckst du noch mal nicht einfach in Originalgrösse? |
Lesezeichen |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Photoshop JavaScript mittels ESTK 2 | Garion | Hilfestellung, Tipps und Tricks | 16 | 06.05.13 17:27 |
Bilder auf eine feste größe bringen | heikehk | Hilfestellung, Tipps und Tricks | 9 | 27.07.12 17:57 |
bei 700 Fotos Motiv autom. auf best. Größe bringen... | Marc O. | Hilfestellung, Tipps und Tricks | 2 | 07.05.11 10:41 |
JavaScript | hjt57 | Hilfestellung, Tipps und Tricks | 3 | 16.09.06 12:33 |
Javascript macht Firefox das Feuer aus | blindguard | Lounge | 1 | 09.12.05 13:58 |