Antworten auf deine Fragen:
Neues Thema erstellen

Aktion erstellen zum Ausrichten einer Ebene

L

Loilo

Guest

[Gelöst] Aktion erstellen zum Ausrichten einer Ebene

Hallo liebe Leute,
ich habe derzeit ein Problem, dass ich gerne automatisiert eine Ebene (also gemessen am obersten und am weitesten linken gefüllten Pixel) ausrichten möchte, z.B. 20% vom linken und 30% vom oberen Dokumentenrand.
Von hand ist das ja kein Problem - Hilfslinien erstellen und Ebene dementsprechend dorthin ziehen.
Wie ich dsa aber in eine Aktion packen soll, kann ich mir nicht denken. Bei Frei Transformieren kann man ja leider auch keine Prozentwerte in der Position angeben.
Weiß jemand von euch Profis Rat? Google hilft hier leider auch nicht weiter. :-/

Liebe Grüße und schonmal vielen Dank!
Loilo
 
Zuletzt bearbeitet von einem Moderator:

Photoshop

patrick_l

Hat es drauf

AW: Aktion erstellen zum Ausrichten einer Ebene

Wie du eine Ebene mit einer Aktion direkt ansprichst, kann ich dir so nicht sagen. Würde es aber folgendermaßen lösen. Zunächst ein neues Dokument einrichten. Im Aktionen-Bedienfeld über "Neue Aktion erstellen" eine neue Aktion anlegen.

Falls das Lineal nicht eingeblendet ist, dieses mit Strg/Cmd+R einblenden. Jetzt nur noch die Hilfslinien setzen und die Aktionsaufnahme beenden. Jetzt kannst du zumindest die Hilfslinien automatisiert hinzufügen. Ich nutze eine ähnliche Aktion um Dokumente schnell einzurichten.

Grüße Patrick
 
AW: Aktion erstellen zum Ausrichten einer Ebene

Ob es eine Lösung per Aktion gibt – ich glaube eher nicht.

Versuche statt dessen lieber diesen Javascript-Code (ich habe ihn nur der besseren farblichen Hervorhebung wegen als PHP-Code deklariert):
PHP:
//Ebene_verschieben.jsx by pixxxelschubser August2012
//Den kompletten Skript-Code kopieren und als Ebene_verschieben.jsx im Vorgaben/Skripten Ordner von Photoshop sichern
//
//Es kann keine Hintergrundebene verschoben werden!
//Die zu verschiebende Ebene auswählen und Datei --> Skripten --> Ebene_verschieben.jsx doppelklicken
//fertig ;)
//
var myDoc = app.activeDocument;
var myLayer = myDoc.activeLayer;
if (!myLayer.isBackgroundLayer) {
var versatzX = 0.2;
var versatzY = 0.3;
var breite = activeDocument.width.value;
var hoehe = activeDocument.height.value;
var newX = Math.round(breite*versatzX);
var newY = Math.round(hoehe*versatzY);
myLayer.translate (newX, newY);
} else {
alert ("Die Hintergrundebene kann nicht verschoben werden.")
}
Wie im //Kommentartext beschrieben sichern und danach Photoshop neu starten. Das Skript verschiebt die aktive Ebene in X um 20% und in Y um 30%. Eventuell fehlende Anpassungen kannst du mit ein paar Nachforschungen sicherlich selbst vornehmen.

;)
 

OliB

Aktives Mitglied

AW: Aktion erstellen zum Ausrichten einer Ebene

@pixxxelschubser

Ob dem TE damit wirklich geholfen ist?

Stell mal deine Maßeinheiten in den Voreinstellungen auf etwas anderes als Pixel - schon wundert man sich als Laie, wieso es nicht korrekt funktioniert.
Zudem wird nur eine simple Verschiebung der Ebene/des Objektes von der aktuellen Position durchgeführt - d.h. die Ebene muß sich schon vorher in der richtigen Position befinden, damit sie korrekt verschoben werden kann (bei diesen Vorraussetzungen könnte man auch eine simple Aktion zum Positionieren verwenden)

Eine Auswertung des "obersten und am weitesten linken gefüllten Pixels" findet folglich auch nicht statt (wo meiner Meinung nach das Hauptproblem liegt)
 
AW: Aktion erstellen zum Ausrichten einer Ebene

@OliB,
ich bin von dir bisher eher sachliche und konstruktive Kritik gewöhnt. Deshalb enttäuscht mich dein Posting jetzt schon ein bisschen.
:eek:

… Stell mal deine Maßeinheiten in den Voreinstellungen auf etwas anderes als Pixel - schon wundert man sich als Laie, wieso es nicht korrekt funktioniert …

Dann funktioniert dein Photoshop anders als meiner. Das Skript rechnet in Prozent, die Einheit ist deshalb vollkommen egal.
:rolleyes:

… Zudem wird nur eine simple Verschiebung der Ebene/des Objektes von der aktuellen Position durchgeführt …

Das ist richtig.

… d.h. die Ebene muß sich schon vorher in der richtigen Position befinden, damit sie korrekt verschoben werden kann …

Nicht ganz.
Es geht viel mehr um die exakte Verschiebung von 20 bzw. 30%. Und das wird erledigt. (Dazu nachher noch etwas mehr, Stichwort Wasserzeichen.)
:p

… bei diesen Vorraussetzungen könnte man auch eine simple Aktion zum Positionieren verwenden …

Erstelle bitte eine Beispiel-Aktion, die eine Verschiebung von beliebigen Ebenen verschiedener Bilder um einen exakten Prozentwert gewährleisten kann. Dann nehme ich diesen Vorwurf gerne zur Kenntnis. Ansonsten
:muede:

… Eine Auswertung des "obersten und am weitesten linken gefüllten Pixels" findet folglich auch nicht statt (wo meiner Meinung nach das Hauptproblem liegt)

Die TO Loilo hat aber keinerlei Angaben zum Zweck ihres Vorhabens geliefert. Und in meinen Augen sucht die TO einfach nur so etwas wie eine Wasserzeichen-Aktion. Von daher ist das Skript eher nur „Perlen vor die Säue“. An dieser Stelle ist jetzt vielleicht ein Verweis auf Russel Brown Watermark sinnvoll.

@OliB, du weißt sicher selbst am Besten, wie sich Threads entwickeln. Angenommen ich liefere ein Skript, das den geforderten Vorgaben zu 100% entspricht. Was kommt i.d.R. als nächstes vom TO? „Ich habe jetzt noch ein paar Bilder, da sollte die Verschiebung vom rechten unteren Rand erfolgen“. Und schon zäumt man das Pferd von vorne auf. (Der Prozentsatz an Threads, die mit dem 1. Antwortposting gelöst wurden, dürfte sich im unteren einstelligen Prozentbereich bewegen.)
:eek:

Und man muss ja nicht ständig das Rad neu erfinden. Oder siehst du das anders?
:uhm:

<edit>
Ich korrigiere mich: Die TO Loilo ist ein der TO.
;)
</edit>
 
Zuletzt bearbeitet:
L

Loilo

Guest

AW: Aktion erstellen zum Ausrichten einer Ebene

Hallo Leute,
danke schonmal für eure zahlreichen Antworten. :)
Zugegeben stelle ich die Frage hier nicht ganz konkret für mich sondern für eine Freundin, die hier nicht angemeldet ist, von daher weiß ich auch nicht die konkrete Anwendung der Aktion / des Skripts. Ich mach mich da nochmal schlau und melde mich nochmal.
Bisher scheint ja leider noch nichts 100% Zielführendes dabei gewesen zu sein - eine Verschiebung UM 20% VON der aktuellen Position bringt leider so nichts.

Finde ich übrigens erstaunlich, dass so eine simple Sache mit Photoshop so schwer umzusetzen zu sein scheint. :)

"Wasserzeichen" ist da übrigens ein gutes Stichwort, ich glaube zwar nicht, dass es darum geht, aber das Prinzip wäre genau dasselbe.

Ich meld mich später wieder, danke schonmal :)

@pixxxelschubser: Das Watermark von Russell Brown merke ich mir mal vor, das schaut gar nicht schlecht aus. :)
 

Malermeister

Noch nicht viel geschrieben

AW: Aktion erstellen zum Ausrichten einer Ebene

eine Verschiebung UM 20% VON der aktuellen Position bringt leider so nichts.

Wenn pixxxelschubser lieb ist ;), wird er vielleicht eine Verschiebung in die linke obere Ecke einbauen, bevor die Verschiebung um 20% und 30% stattfindet. Damit dürfte dir geholfen sein.
 
L

Loilo

Guest

AW: Aktion erstellen zum Ausrichten einer Ebene

Wenn das möglich ist, klingt es gut. Bist du lieb, pixxxelschubser? :)
...aber erstmal schau ich das Watermark-Plugin an, ich hab inzwischen in Erfahrung gebracht, dass es tatsächlich um Wasserzeichen geht. ;-)
 
AW: Aktion erstellen zum Ausrichten einer Ebene

… ich hab inzwischen in Erfahrung gebracht, dass es tatsächlich um Wasserzeichen geht. ;-)

Ich liebe meine Kristallkugel. Auch wenn sie schon alt ist, sie funktioniert immer noch tadellos.
;):D:lol:

Und vielleicht baue ich die Verschiebung von der obersten linken Grenze der aktiven Ebenen wirklich noch ein, wenn auch nur der Übung halber. Denn diese Funktionalität ist in den meisten Watermark-Skripten, -Aktionen oder -Plugins sowieso enthalten.
:)
 

patrick_l

Hat es drauf

AW: Aktion erstellen zum Ausrichten einer Ebene

Ich liebe meine Kristallkugel. Auch wenn sie schon alt ist, sie funktioniert immer noch tadellos. ;):D:lol:

...und ich habe es die Tage schon Simon unterstellt. :lol: Dann hast du also die Kristallkugel. Würdest du mir vielleicht die kommenden Lottozahlen vorraus sagen und mir per PN mailen :D;)

(OT off)

Was meinen Ansatz über eine Aktion angeht: Funktioniert eigentlich nur dann, wenn das Dokument immer die gleichen Maße hat. Aber pixxxelschubser hat ja schon mit dem Watermark Plugin einen guten Tipp gegeben.

Grüße Patrick
 
AW: Aktion erstellen zum Ausrichten einer Ebene

...und ich habe es die Tage schon Simon unterstellt. :lol: Dann hast du also die Kristallkugel. Würdest du mir vielleicht die kommenden Lottozahlen vorraus sagen und mir per PN mailen :D;)

Kann ich dir die Zahlen nicht direkt hier im Forum posten?
:lol::lol::lol:




<Zurück zum Thema>

Nimm folgenden Code:
PHP:
//Ebene_verschieben.jsx by pixxxelschubser August2012
//Den kompletten Skript-Code kopieren und als Ebene_verschieben.jsx im Vorgaben/Skripten Ordner von Photoshop sichern
//
//Es kann keine Hintergrundebene verschoben werden!
//Die aktive Ebene muss zwingend sichtbar sein und sie darf nicht gesperrt sein!
//Die zu verschiebende Ebene auswählen und Datei --> Skripten --> Ebene_verschieben.jsx doppelklicken
//fertig ;)
//
// passend zu http://www.psd-tutorials.de/forum/11_photoshop/145613-aktion-erstellen-zum-ausrichten-einer-ebene.html
//
var myDoc = app.activeDocument;
var myLayer = myDoc.activeLayer;
if (!myLayer.isBackgroundLayer) {
var NullX = 0;
var NullY = 0;
if (myLayer.bounds[0]!=0) {
    NullX = myLayer.bounds[0]*(-1);
    }
if (myLayer.bounds[1]!=0) {
    NullY = myLayer.bounds[1]*(-1);
    }
var versatzX = 0.2;
var versatzY = 0.3;
var breite = activeDocument.width.value;
var hoehe = activeDocument.height.value;
var newX = NullX + Math.round(breite*versatzX);
var newY = NullY + Math.round(hoehe*versatzY);
myLayer.translate (newX, newY);
} else {
alert ("Die Hintergrundebene kann nicht verschoben werden.")
}
Der eventuell bereits vorhandene Versatz der aktiven Ebene wird berücksichtigt. Allerdings habe ich bewußt keine zusätzliche Prüfung eingebaut. Die aktive Ebene muss zwingend sichtbar sein und sie darf nicht gesperrt sein.

Viel Spass damit.
pixxxelschubser

<edit>
Die Bedingungen für den eventuell vorhandenen Versatz hatte ich versehentlich verschachtelt. Das darf nicht sein. Der Fehler ist in der jetzt vorhandenen Version ausgebessert.
</edit>


Index für zukünftige Suchen: Photoshop-Skript Script Scripting Skripten Wasserzeichen Watermark Copyright Ebenen Layer verschieben
 
Zuletzt bearbeitet:

karsten1077

Bin wieder da

AW: Aktion erstellen zum Ausrichten einer Ebene

Würdest du mir vielleicht die kommenden Lottozahlen vorraus sagen und mir per PN mailen :D;)
ot on
das finde ich etwas egoistisch von dir patrick, wenn wir ne tippgemeinschaft bilden haetten wir doch alle was davon. wenn ich da an den gewinn vom we denke. 190millionen fuer eine einzelne person!!! da kann das ganze psd forum in viel neues spielzeug investieren :lol: ot off

ich verwende auch das watermark von russel brown, supertool. das einzige was mich daran stoert ist das es nur als jpeg speichert.

gruss karsten
 

OliB

Aktives Mitglied

AW: Aktion erstellen zum Ausrichten einer Ebene

Dann funktioniert dein Photoshop anders als meiner. [...]
Das wird dann in der Tat so sein - hier mal ein paar Screenshots...





Nicht ganz.
Es geht viel mehr um die exakte Verschiebung von 20 bzw. 30%. Und das wird erledigt. (Dazu nachher noch etwas mehr, Stichwort Wasserzeichen.)
:p
Eigentlich lautet die Aufgabe: "20% vom linken und 30% vom oberen Dokumentenrand."

Insofern muß die Ebene vor dem verschieben zuerst am oberen linken Dokumentenrand auch ausgerichtet werden...

Erstelle bitte eine Beispiel-Aktion, die eine Verschiebung von beliebigen Ebenen verschiedener Bilder um einen exakten Prozentwert gewährleisten kann. Dann nehme ich diesen Vorwurf gerne zur Kenntnis. Ansonsten
:muede:


(Verschiebung horizontal 20% - vertikal 30%)

 
L

Loilo

Guest

AW: Aktion erstellen zum Ausrichten einer Ebene

Hallo ihr alle! :)
Herzlichen Dank an euch alle, eure Beiträge sind neben der Tatsache dass sie nützlich sind auch noch äußerst unterhaltsam. :-D
Dieses Photoshop-mit-JavaScript-steuern finde ich auch hochinteressant, hatte schonmal davon gehört, ich glaub da sollte ich mich auch mal intensiver mit beschäftigen. :)

Der Thread hake ich dann mal als gelöst ab. Danke nochmal! :)
 

OliB

Aktives Mitglied

AW: Aktion erstellen zum Ausrichten einer Ebene

Du kannst Photoshop nicht nur durch JavaScript steuern, sondern auch durch VB und AppleScript - je nachdem, was dir besser liegt bzw. was du umsetzen möchtest (da hat jede Scriptsprache ihre ganz speziellen Vor- und Nachteile)
 
AW: Aktion erstellen zum Ausrichten einer Ebene

Hallo OliB,
und da sind sie wieder – deine Antworten in der gewohnt guten Qualität.
smile.gif


Du hast recht. Das Skript erzeugt bei unterschiedlichen Linealeinheiten eine Differenz beim Versetzen. Das liegt aber weniger an den Linealeinheiten sondern vielmehr an der Rundungsfunktion, die ich leider erst nach den ersten Testläufen eingebaut hatte. Deshalb ist mir dieser Fehler nicht aufgefallen. (Pixel gerundet ergibt zwangsläufig eine Differenz zum gerundeten Zentimeterwert.) Danke für deinen Hinweis.

Was mir allerdings nach wie vor schleierhaft ist, das ist das Verhalten bei auf Prozent eingestelltem Lineal. Der Translate-Befehl interpretiert wohl die Angabe von 20% fälschlicherweise als 20×100. Das führt dann zu dem dritten von dir gepostetem Bild. Hier ist nichts mehr sichtbar, weil ein Versatz von 2000% in X und von 3000% in Y erfolgt. (Die von mir ausgelesenen/berechneten Werte zeigen aber bis zum Translate-Befehl 20% bzw. 30%.)

Der TO hat zwar den Thread für gelöst erklärt, trotzdem möchte ich noch nachträglich eine ordnungsgemäß funktionierende Version posten. Vielleicht könnte noch irgendjemand mit einer neueren PS-Version (neuer als CS3) das Skript testen. Es sollte jetzt wie gewünscht funktionieren.

Hier der Javascript-Code:
PHP:
//Ebene_verschieben.jsx by pixxxelschubser August2012
//Den kompletten Skript-Code kopieren und als Ebene_verschieben.jsx im Vorgaben/Skripten Ordner von Photoshop sichern
//
//Es kann keine Hintergrundebene verschoben werden!
//Die aktive Ebene muss zwingend sichtbar sein und sie darf nicht gesperrt sein!
//Die zu verschiebende Ebene auswählen und Datei --> Skripten --> Ebene_verschieben.jsx doppelklicken
//fertig ;)
//
// passend zu http://www.psd-tutorials.de/forum/11_photoshop/145613-aktion-erstellen-zum-ausrichten-einer-ebene.html
//
var myDoc = app.activeDocument;
var myLayer = myDoc.activeLayer;
var NullX,NullY,breite,hoehe,newX,newY = null;

if (!myLayer.isBackgroundLayer) {
if (myLayer.visible == true) {
if (!myLayer.allLocked) {
    var rU = app.preferences.rulerUnits;
    var tU = app.preferences.typeUnits;
    app.preferences.rulerUnits = Units.PIXELS;
    app.preferences.typeUnits = TypeUnits.PIXELS;
    NullX = myLayer.bounds[0]*(-1);
    NullY = myLayer.bounds[1]*(-1);
    breite = activeDocument.width.value;
    hoehe = activeDocument.height.value;
    var versatzX = 0.2;                                      // Versatz von 20% in X von der linken oberen Ecke aus
    var versatzY = 0.3;                                      // Versatz von 30% in Y von der linken oberen Ecke aus
    newX = Math.round(breite*versatzX) + NullX;
    newY = Math.round(hoehe*versatzY) + NullY;
    myLayer.translate (newX, newY);
    app.preferences.rulerUnits = rU;
    app.preferences.typeUnits = tU
    } else {
    alert ("Bitte die aktive Ebene entsperren und das Skript erneut starten.")
    }
} else {
alert ("Bitte die aktive Ebene sichtbar machen und das Skript erneut starten.")
}
} else {
alert ("Die Hintergrundebene kann nicht verschoben werden.")
}
Also bis dann
icon_nick.gif




Index für zukünftige Suchen: Photoshop-Skript Script Scripting Skripten Wasserzeichen Watermark Copyright Ebenen Layer verschieben
 

OliB

Aktives Mitglied

AW: Aktion erstellen zum Ausrichten einer Ebene

Also ich fand meine erste Anwort schon nicht schlecht ;)

Wer mich kennt, weiß, daß ich nicht irgendwelche Behauptungen aufstelle, ohne diese vorher geprüft zu haben (wobei für mich die Rundungsfehler und die fehlende Nullpunk-Ausrichtung schon beim ersten Blick auf das Script ersichtlich waren)

Ich fand es eher schade, daß du dir erst dann die Mühe gemacht hast, meine Aussagen zu prüfen, nachdem ich (umständlich) entsprechende Screenshots/Aktionen präsentiert habe.

Wie auch immer - ich werde es mir jedenfalls zukünftig ersparen, andere auf ihre Fehler hinzuweisen (sei es jetzt in Bezug auf Scripte oder sonstige Arbeitsabläufe) - ich bin diese ständige Beweispflicht langsam satt...
 
AW: Aktion erstellen zum Ausrichten einer Ebene

Ich hatte jetzt auch eine etwas andere Antwort von dir erwartet.

Naja, wie man's nimmt. So ist halt das Forenleben. Vielleicht habe ich auch nur solche unproduktiven „das-geht-so-nicht-Antworten“ wie in deinem Beitrag #4 satt.

Denn nachdem für dich alles auf den ersten Blick ganz klar ersichtlich war: Hättest du nur ein kleines bisschen mehr davon geredet, wie es besser geht und nicht nur, was nicht geht, dann wärest du überhaupt nicht in die Verlegenheit gekommen, eine „Beweispflicht erbringen zu müssen“. Und wir hätten uns direkt und gemeinsam der eigentlichen Problematik widmen können – ohne Geplänkel.

Wir sind doch Teil der Helfenden in diesem Forum. Wozu also diese belanglose Polemik fortführen?

:uhm:
 

Rata

AW: Aktion erstellen zum Ausrichten einer Ebene

Richtig.
Einigt Euch.
So weit seid Ihr thema-bezogen gar nicht auseinander, ... scheint mir ;)


Lieber Gruß
Rata

8)
 

OliB

Aktives Mitglied

AW: Aktion erstellen zum Ausrichten einer Ebene

Was war an meinem Beitrag denn unproduktiv?

Ich habe dich doch nur darauf hingewiesen, daß bei Verwendung einer falschen Maßeinheit, ein falsches Ergebnis zu erwarten ist und daß die Ebenen zuvor ausgerichtet werden müssen.

Da muß man nicht Einstein sein, um daraus schlußfolgern zu können, daß man eventuell mal die Ebenen zuvor ausrichten muß und man eine Maßeinheit wählt, die korrekte Ergebnisse liefert.

Ich hätte dir auch genausogut die entsprechenden Code-Snippets präsentieren und dich bitten können diese einzupflegen - das hätte aber nichts daran geändert, daß du nach wie vor der Überzeugung gewesen wärst, daß dein Script korrekt gewesen wäre.

Bisher dachte ich immer, daß das hier ein Selbsthilfe-Forum ist - da sollte man erwarten können, daß man nicht jeden noch so kleinen Lösungschritt vorkauen und auf dem Silbertablett servieren muß...

Ich kann auch nach wie vor nichts falsches an der Behauptung erkennen, daß unter diesen Vorraussetzungen kein Script nötig wäre, sondern eine simple Aktion ausgereicht hätte (worauf hast du denn deine eigene Aussage gestützt, daß soetwas nur per Skipt geht?)
Sorry, aber man kann nicht einfach etwas Behaupten ohne diese Aussagen selbst zu belegen, wenn man im Gegenzug für anderslautende Lösungen handfeste "Beweise" sehen möchte, bevor man überhaupt gewillt ist, diese zu akzeptieren...

Aus dem Alter bin ich sowohl altermässig, als auch in Bezug auf das scripten längst hinaus (schliesslich scripte ich seit ca. 8 Jahren, um u.a. damit meine Brötchen zu verdienen)
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben