#1
|
|||
|
|||
Mehrfach Duplizieren
Hallo,
hat jemand eine Idee, wie ich eine Auswahl mehrfach duplizieren kann??? Ich habe mir eine Aktion mit dem Kopieren erstellt und führe jetzt manuell diese Aktion mehrfach aus. Das geht doch bestimmt auch anders, ohne das ich 10 min. die selbe Tastenkombination drücken muss. Gruß Sven |
#2
|
||||
|
||||
Hallo!
Zeichne doch eine weitere Aktion auf, in der du die erste Aktion 10x aufrufst. Einen Dialog "Bitte x-mal ausführen" gibt es meines Wissens nicht.
__________________
Gruß Jenny _____________________ Live long and prosper! |
#3
|
|||
|
|||
ok, konnte ja manchmal sein, dass ich was ganz einfaches übersehen habe.
Habe jetzt eine Aktion "Kopie" erstellt und eine Aktion "Duplizieren". In dieser rufe ich x mal die Aktion "Kopie" auf (die habe ich dupliziert). Danke! Gruß Sven |
#4
|
||||
|
||||
Wie oft willst Du denn den Auswahl duplizieren?
Eine ganz einfache Methode wäre: Einfach das Gewünschte auszuwählen und so oft wie benötigt Strg + J zu drücken. Das erstellt Dir dann jeweils eine neue Ebene mit dem Ausgewählten. Gruß intelli
__________________
Der Kopf ist rund, damit das Denken die Richtung wechseln kann! Beiträge können gerne durch Klick auf bewertet werden! |
#5
|
||||
|
||||
Wenn man ein wenig mehr über den Hintergrund der Sache wüsste, könnte man evtl. auch andere Vorschläge bringen, an welche du allenfalls noch gar nicht gedacht hast.
|
#6
|
|||
|
|||
Das ist wahr.
|
#7
|
|||
|
|||
Am einfachsten ist es mit diesem Skript man kann die nummer der gewünschten Kopien eingaben.
// Duplicate Image (Copies) - Adobe Photoshop Script // Description: create one or more copies of the active document // Requirements: Adobe Photoshop CS3, or higher // ================================================== ========================== // Installation: // 1. Place script in: // PC(32): C:\Program Files (x86)\Adobe\Adobe Photoshop CS#\Presets\Scripts\ // PC(64): C:\Program Files\Adobe\Adobe Photoshop CS# (64 Bit)\Presets\Scripts\ // Mac: <hard drive>/Applications/Adobe Photoshop CS#/Presets/Scripts/ // 2. Restart Photoshop // 3. Choose File > Scripts > Duplicate Image (Copies) // ================================================== ========================== // enable double-clicking from Mac Finder or Windows Explorer #target photoshop // bring application forward for double-click events app.bringToFront(); /////////////////////////////////////////////////////////////////////////////// // main - main function /////////////////////////////////////////////////////////////////////////////// function main() { // get Duplicate Image dialog var dialog = duplicateImageDialog(activeDocument); if (dialog.show() == 1) { // create duplicate copies for (var i = 0; i < dialog.copies; i++) { // merge layers duplicateImage(dialog.merged); } } } /////////////////////////////////////////////////////////////////////////////// // duplicateImageDialog - create Duplicate Image dialog /////////////////////////////////////////////////////////////////////////////// function duplicateImageDialog(doc) { // dialog properties var dlg = new Window('dialog', 'Duplicate Image (Copies)', undefined, {closeButton: false}); dlg.orientation = 'row'; dlg.alignChildren = 'fill'; dlg.merged = false; dlg.copies = 1; // left side var main = dlg.add('group'); main.orientation = 'column'; main.alignChildren = 'left'; // document name group var source = main.add('group'); source.orientation = 'row'; // label source.label = source.add('statictext'); source.label.text = 'Duplicate:'; // document name source.name = source.add('statictext'); source.name.text = doc.name; source.name.helpTip = getDocumentPath(doc); // document copies group var copies = main.add('group'); copies.orientation = 'row'; // label copies.label = copies.add('statictext'); copies.label.justify = 'right'; copies.label.text = '&Copies:'; copies.label.preferredSize.width = source.label.preferredSize.width; // document copies field copies.field = copies.add('edittext'); copies.field.characters = 5; copies.field.text = 1; copies.field.active = true; copies.field.addEventListener('keydown', NumericEditKeyboardHandler); copies.field.onChange = function() { var num = parseInt(this.text, 10); if (num < 1 || num > 99) { alert('An integer between 1 and 99 is required.', 'Invalid Entry', true); num > 99 ? num = 99 : num = 1; this.text = num; this.active = true; } dlg.copies = num; } // merge layers group var merged = main.add('group'); merged.orientation = 'row'; // merge layers checkbox merged.cb = merged.add('checkbox'); merged.cb.text = 'Duplicate &Merged Layers Only'; merged.value = false; merged.enabled = doc.layers.length > 1 ? true : false; merged.cb.onClick = function() { dlg.merged = this.value; } // buttons group var buttons = dlg.add('group'); buttons.orientation = 'column'; buttons.alignChildren = 'fill'; // OK button var btnOK = buttons.add('button'); btnOK.text = 'OK'; dlg.defaultElement = btnOK; // Cancel button var btnCancel = buttons.add('button'); btnCancel.text = 'Cancel'; dlg.cancelElement = btnCancel; return dlg; } /////////////////////////////////////////////////////////////////////////////// // getDocumentPath - returns the document path if one exists /////////////////////////////////////////////////////////////////////////////// function getDocumentPath(doc) { try { return File(doc.fullName).fsName; } catch(e) { return ''; } } /////////////////////////////////////////////////////////////////////////////// // duplicateImage - Image Duplicate /////////////////////////////////////////////////////////////////////////////// function duplicateImage(merged) { var desc1 = new ActionDescriptor(); var ref1 = new ActionReference(); ref1.putEnumerated(cTID('Dcmn'), cTID('Ordn'), cTID('Frst')); desc1.putReference(cTID('null'), ref1); if (merged) {desc1.putBoolean(cTID('Mrgd'), true);} executeAction(cTID('Dplc'), desc1, DialogModes.NO); } function cTID(s) {return app.charIDToTypeID(s);} /////////////////////////////////////////////////////////////////////////////// // Function: NumericEditKeyboardHandler // Source: Adobe // Usage: Do not allow anything except for numbers 0-9 // Input: ScriptUI keydown event // Return: <nothing> key is rejected and beep is sounded if invalid /////////////////////////////////////////////////////////////////////////////// function NumericEditKeyboardHandler(event) { try { var keyIsOK = KeyIsNumeric(event) || KeyIsDelete(event) || KeyIsLRArrow(event) || KeyIsTabEnterEscape(event); if (!keyIsOK) { // Bad input: tell ScriptUI not to accept the keydown event event.preventDefault(); // Notify user of invalid input: // make sure NOT to put up an alert dialog or do anything which requires user interaction, // because that interferes with preventing the 'default' action for the keydown event app.beep(); } } catch(e) { // alert('Ack! Bug in NumericEditKeyboardHandler: ' + e); } } // key identifier functions function KeyHasModifier(event) { return event.shiftKey || event.ctrlKey || event.altKey || event.metaKey; } function KeyIsNumeric(event) { return (event.keyName >= '0') && (event.keyName <= '9') && !KeyHasModifier(event); } function KeyIsDelete(event) { // Shift-delete is ok return (event.keyName == 'Backspace') && !(event.ctrlKey); } function KeyIsLRArrow(event) { return ((event.keyName == 'Left') || (event.keyName == 'Right')) && !(event.altKey || event.metaKey); } function KeyIsTabEnterEscape(event) { return event.keyName == 'Tab' || event.keyName == 'Enter' || event.keyName == 'Escape'; } /////////////////////////////////////////////////////////////////////////////// // isCorrectVersion - check for Adobe Photoshop CS3 (v10) or higher /////////////////////////////////////////////////////////////////////////////// function isCorrectVersion() { if (parseInt(version, 10) >= 10) { return true; } else { alert('This script requires Adobe Photoshop CS3 or higher.', 'Wrong version', false); return false; } } /////////////////////////////////////////////////////////////////////////////// // isOpenDocs - ensure at least one document is open /////////////////////////////////////////////////////////////////////////////// function isOpenDocs() { if (documents.length) { return true; } else { alert('There are no documents open.', 'No documents open', false); return false; } } /////////////////////////////////////////////////////////////////////////////// // showError - display error message if something goes wrong /////////////////////////////////////////////////////////////////////////////// function showError(err) { if (confirm('An unknown error has occurred.\n' + 'Would you like to see more information?', true, 'Unknown error')) { alert(err + ': on line ' + err.line, 'Script Error', true); } } // test initial conditions prior to running main function if (isCorrectVersion() && isOpenDocs()) { try { main(); } catch(e) { // don't report error on user cancel if (e.number != 8007) { showError(e); } } } |
#8
|
|||
|
|||
Ihr wollt mehr Infos? Geht los....
Ein Beispiel, ihr habt eine bitmap 80000 pixel x 20000 Pixel. Darin eine Rechteckauswahl, 15 Pixel x 20000 Pixel, direkt am linken Bildrand. Diese Auswahl soll mit einem Versatz von x = 40 Pixel und y = 0 Pixel so oft kopiert werden, bis das komplette Bild voll ist. Und...., gibt es da noch weitere Lösungen? Gruß Sven |
Lesezeichen |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Bild mit mehreren Filter mehrfach abspeichern | gelöschter User | Hilfestellung, Tipps und Tricks | 11 | 03.03.11 15:54 |
mehrfach angezeigte Frames | RainbowPhoenix | Hilfestellung, Tipps und Tricks | 10 | 12.10.10 07:11 |