{"id":59,"date":"2006-03-04T12:14:28","date_gmt":"2006-03-04T11:14:28","guid":{"rendered":"http:\/\/unckel.com\/blog\/?p=59"},"modified":"2019-12-07T22:19:07","modified_gmt":"2019-12-07T21:19:07","slug":"photoshop-script-hinweistext-in-bild-setzen","status":"publish","type":"post","link":"https:\/\/unckel.de\/blog\/photoshop-script-hinweistext-in-bild-setzen\/","title":{"rendered":"Photoshop Script: Hinweistext in Bild setzen"},"content":{"rendered":"<p>Diesen Script wird \u00fcber Adobe Photoshop (CS2) aufgerufen und f\u00fcgt automatisch einen Hinweistext (z.B. Copyright-Hinweis) unten rechts in Bildern ein.<\/p>\n<p><b>Vorgehensweise:<\/b><\/p>\n<ul>\n<li>JavaScript als *.js irgendwo auf dem Rechner speichern<\/li>\n<li>Einstellungen im Skript anpassen (einfacher Editor oder ExtendScript Toolkit)<\/li>\n<li>Photoshop starten<\/li>\n<li>Datei &gt; Skripten &gt; Durchsuchen dann Laden und fertig!<\/li>\n<\/ul>\n<pre>\/\/###################################################################################\n\/\/\n\/\/  Skript um einen Hinweistext ins Bild zu setzen und als Web-JPEG zu speichern\n\/\/\n\/\/###################################################################################\n\n\/\/ Einstellungen\nvar picSourcePath = \"C:\\\\Quellordner\\\\\";\nvar picTargetPath = \"C:\\\\Zielordner\\\\\";\nvar picText       = \"Copyright \u00a9 2006 by Name\";\nvar picTextSize   = 10; \/\/ Wert in Pixel\n\n\/\/###################################################################################\n\n\/\/ Hauptskript...\n\n\/\/ Photoshop-Einstellungen sichern\nvar startRulerUnits = app.preferences.rulerUnits;\nvar startTypeUnits = app.preferences.typeUnits;\nvar startDisplayDialogs = app.displayDialogs;\n\n\/\/ Dialoge verbergen und Pixel als Einheit einstellen\napp.preferences.rulerUnits = Units.PIXELS;\napp.preferences.typeUnits = TypeUnits.PIXELS;\napp.displayDialogs = DialogModes.NO;\n\n\/\/ Liste aller Dateien und Ordner erstellen\nvar picFolder = Folder(picSourcePath);\nvar fileList = picFolder.getFiles();\n\n\/\/ Pruefung ob auch Dateien und Ordner vorhanden sind\nif (picSourcePath != null &amp;&amp; picTargetPath != null) {\n\n\t\/\/ Quellbilder in Schleife oeffnen\n\tfor (var i=0; i&lt;fileList.length; i++) {\n\n\t\t\/\/ Nur Dateien (und keine Ordner) oeffnen\n\t\tif (fileList[i] instanceof File) {\n\t\t\topen(fileList[i]);\n\n\t\t\t\/\/ schwarzer Text als neue Ebene setzen; ist fuer die Umrandung\n\t\t\tsetMyText(picText, picTextSize, \"Verdana\", \"000000\", 3, 0,\n\t\t\tactiveDocument.width-4, activeDocument.height-4);\n\n\t\t\t\/\/ weisser Text als neue Ebene setzen\n\t\t\tsetMyText(picText, picTextSize, \"Verdana\", \"FFFFFF\", 3, 0,\n\t\t\tactiveDocument.width-4, activeDocument.height-4);\n\n\t\t\t\/\/ Alle Ebenen rastern (um Effekte auf Text anwenden zu koennen)\n\t\t\tactiveDocument.rasterizeAllLayers();\n\n\t\t\t\/\/ Auf untere Textebene den Filter Dunkle Bereiche vergroessern, Wert=1px\n\t\t\tactiveDocument.artLayers[1].applyMinimum(1);\n\n\t\t\t\/\/ Transparent der unteren Textebene auf 30%, der oberen auf 60%\n\t\t\tactiveDocument.artLayers[1].opacity = 30;\n\t\t\tactiveDocument.artLayers[0].opacity = 60;\n\n\t\t\t\/\/ Bild als JPG speichern (Fuer Web speichern...)\n\t\t\tvar newFileName = fileList[i].name;\n\t\t\tsaveWebJpg(newFileName.substring(0, newFileName.length-4) + \".jpg\",\tpicTargetPath, 60);\n\n\t\t\t\/\/ Schliessen ohne Nachfrage\n\t\t\tapp.activeDocument.close(SaveOptions.DONOTSAVECHANGES);\n\n\t\t}\n\t}\n}\n\n\/\/ Photoshop-Einstellungen zuruecksetzen\napp.preferences.rulerUnits = startRulerUnits;\napp.preferences.typeUnits = startTypeUnits;\napp.displayDialogs = startDisplayDialogs;\n\nalert(\"Skript fertig :)\");\n\n\/\/###################################################################################\n\n\/\/ Hilfsfunktionen...\n\n\/\/ Funktion um Dokument als Jpeg zu speichern (Fuer Web speichern...)\n\/\/ Parameter: Dateiname, Pfad mit abschliessendem '\\'!, Qualitaet 1-100\n\/\/ Beispielaufruf: saveWebJpg(\"test.jpg\", \"c:\\\\bilder\\\\\", 75);\nfunction saveWebJpg(jpgName, filePath, jpgQuality ) {\n\tvar saveFile = new File(filePath + jpgName);\n\tvar webJpgOptions = new ExportOptionsSaveForWeb();\n\twebJpgOptions.format = SaveDocumentType.JPEG;\n\twebJpgOptions.optimized = true;\n\twebJpgOptions.quality = jpgQuality;\n\tactiveDocument.exportDocument(saveFile, ExportType.SAVEFORWEB, webJpgOptions);\n\tFile = null; ExportOptionsSaveForWeb = null;\n}\n\n\/\/ Funktion um Text ins Dokument zu setzen. Neue Textebene wird erstellt.\n\/\/ Parameter: Text, Groesse, Schriftart, Farbe (Hex), Ausrichtung, Glaettung, PosX, PosY\n\/\/ Ausrichtung: 1=links, 2=zentriert, 3=rechts; Glaettung: 0=aus; 1=scharf\n\/\/ Beispielaufruf: setMyText(\"Mein Text\", 10, \"Arial\", \"FF0000\", 1, 0, 50, 50);\nfunction setMyText(theTxt, txtSize, txtFont, txtColor, txtAlign, txtAntiAlias, txtPosX, txtPosY) {\n\tvar thisDoc = activeDocument;\n\tvar textColor = new SolidColor;\n\ttextColor.rgb.hexValue = txtColor;\n\tvar myTextLayer = thisDoc.artLayers.add();\n\tmyTextLayer.kind = LayerKind.TEXT;\n\tmyTextLayer.textItem.contents = theTxt;\n\tmyTextLayer.textItem.font = txtFont;\n\tmyTextLayer.textItem.size = txtSize;\n\tmyTextLayer.textItem.color = textColor;\n\tswitch (txtAlign) {\n\t\tcase 1:  myTextLayer.textItem.justification = Justification.LEFT;   break;\n\t\tcase 2:  myTextLayer.textItem.justification = Justification.CENTER; break;\n\t\tcase 3:  myTextLayer.textItem.justification = Justification.RIGHT;  break; }\n\tswitch (txtAntiAlias) {\n\t\tcase 0:  myTextLayer.textItem.antiAliasMethod = AntiAlias.NONE;  break;\n\t\tcase 1:  myTextLayer.textItem.antiAliasMethod = AntiAlias.SHARP; break; }\n\tmyTextLayer.textItem.position = Array(txtPosX,txtPosY);\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Diesen Script wird \u00fcber Adobe Photoshop (CS2) aufgerufen und f\u00fcgt automatisch einen Hinweistext (z.B. Copyright-Hinweis) unten rechts in Bildern ein. Vorgehensweise: JavaScript als *.js irgendwo auf dem Rechner speichern Einstellungen im Skript anpassen (einfacher Editor oder ExtendScript Toolkit) Photoshop starten Datei &gt; Skripten &gt; Durchsuchen dann Laden und fertig! \/\/################################################################################### \/\/ \/\/ Skript um einen [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[70],"tags":[],"class_list":["post-59","post","type-post","status-publish","format-standard","hentry","category-adobe-photoshop"],"_links":{"self":[{"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/posts\/59","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/comments?post=59"}],"version-history":[{"count":1,"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/posts\/59\/revisions"}],"predecessor-version":[{"id":810,"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/posts\/59\/revisions\/810"}],"wp:attachment":[{"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/media?parent=59"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/categories?post=59"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/tags?post=59"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}