Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : CS4: Bilder automatisch skalieren


amateur
26.07.2010, 22:48
Moin,

mal eine Frage in die Runde der PS Cracks. Ich möchte eine Aktion anlegen, mit der ich Bilder automatisch fürs iPad skalieren kann. Dabei möchte ich das Bild direkt in die maximale Auflösung 1024x768 anpassen.

Soweit so gut. Mache das mit fester maximaler Höhe und Breite für das Web entweder durch "Bild einpassen" oder den Bildprozessor. Das iPad drehe ich aber beim Betrachten, so dass ich das Zielformat nicht statisch festlegen kann.

Ich will also das Bild einpassen. Die längste Kante sollte kleiner oder gleich 1024 Pixel sein, die kurze Kante muss aber gleichzeitig immer kleiner oder gleich 768 Pixel bleiben und die lange Kante damit ggf. kleiner als 1024 Pixel werden.

Wie automatisiere ich sowas in CS4?

Viele Grüße

Stephan

Anaxaboras
26.07.2010, 22:51
Hi Stephan,

ich würde dir gerne weiterhelfen, habe aber dein Problem noch nicht so ganz verstanden. Geht es - salopp gesagt - darum, Hoch- und Querformat-Bilder in einem Rutsch auf das maximal zulässige Maß zu bringen?

Martin

amateur
26.07.2010, 22:56
Geht es - salopp gesagt - darum, Hoch- und Querformat-Bilder in einem Rutsch auf das maximal zulässige Maß zu bringen?


Jepps. Wobei ich nicht Hoch- und Querformat sagen würde. Es sind alle möglichen Formate. Ziel ist die Skalierung auf die maximal mögliche Größe, wobei die längere Kante kleiner oder gleich 1024 Pixel und die kurze Kante gleichzeitig immer kleiner oder gleich 768 Pixel bleibt - bei Beibehaltung des originalen Seitenverhältnisses versteht sich.

Viele Grüße

Stephan

Anaxaboras
26.07.2010, 23:07
Ujujui, das ist nicht leicht zu lösen :roll:

Photoshop kennt leider keine Angaben wie "kurze Seite" und "lange Seite" - sondern eben nur "Breite" und "Höhe". Mit den Bordmitteln (Bildprozessor) lässt sich da nichts machen.

Ich habe so ganz dunkel im Hinterkopf, dass vor längerem in einer DOCMA mal ein Beitrag war, wie man eine Aktion ermitteln lässt, ob ein Bild im Hoch- oder Querformat vorliegt. Das könntest du vielleicht in eine eigene Aktion einbauen, um dann deine Bilder vor dem Verkleinern entsprechend zu drehen (und anschließend wieder zurück). Das Heft liegt aber im Büro, dazu kann ich erst morgen Abend was sagen.

Vielleicht hat ja jemand anders noch eine geniale Idee?

Martin

amateur
26.07.2010, 23:11
Ujujui, das ist nicht leicht zu lösen :roll:


Hätte ich sonst gefragt? :lol: Aber andererseits ist der Wunsch ja auch nicht so exotisch.

Viele Grüße

Stephan

meph!sto
26.07.2010, 23:28
Datei --> Automatisieren --> Bild einpassen

Dort kannst du max. Breite / Höhe eintragen.
Das alles mit einer Aktion verbunden und schon kannst du automatisiert, Bilder verkleinern.
Das ist egal ob die Bilder im Hoch oder Querformat vorliegen, denn die Grenzen orientieren sich immer an der maximalen Länge unter Beibehalten des Seitenverhältnisses.

amateur
26.07.2010, 23:39
Datei --> Automatisieren --> Bild einpassen

Dort kannst du max. Breite / Höhe eintragen.


Danke, aber das kenne ich schon. Reicht aber nicht. Maximale Breite/Höhe müssten ja 1024 Pixel sein, da die Bildausrichtung beliebig sein kann. Wenn ich ein annähernd quadratisches Bild habe, dann wird es aber zu groß, da die 768 Pixel überschritten werden.

Gruß

Stephan

Sparcky
26.07.2010, 23:50
Hallo Stephan,

ich würde den Bildprozessor bemühen. Dort gibst du unter Dateityp bei Breite und Höhe jeweils 1024 ein. Dann sind z.B. A700 Bilder 1024x683 groß. Selbst Aktionen zur Bildbearbeitung sind möglich.

Anaxaboras
26.07.2010, 23:53
Dann sind z.B. A700 Bilder 1024x683 groß.

Oder 683x1024 - und genau das ist Stephans Problem, für das mir gerade auch keine Lösung einfällt.

Martin

amateur
27.07.2010, 00:01
Hallo Frank,


ich würde den Bildprozessor bemühen. Dort gibst du unter Dateityp bei Breite und Höhe jeweils 1024 ein. Dann sind z.B. A700 Bilder 1024x683 groß. Selbst Aktionen zur Bildbearbeitung sind möglich.

den kenne ich auch. Bei einem quadratischen Bild kommt dann leider was in 1024x1024 raus und ist damit zu groß.

Stephan

Sparcky
27.07.2010, 00:03
Dann wirst du wohl nach einem Programm suchen müssen, dass prozentual verkleinern kann. Oder du kennst jemanden der dir ein Skript mit deinen Bedingungen erstellt.

amateur
27.07.2010, 00:09
Dann wirst du wohl nach einem Programm suchen müssen, dass prozentual verkleinern kann. Oder du kennst jemanden der dir ein Skript mit deinen Bedingungen erstellt.

Anderes Programm will ich nicht, da ja noch andere Schritte in die Aktion eingebunden werden sollen. Vor CS4 habe ich PSP XI benutzt. Da wusste ich, wie das geht.

Vielleicht kennt ja jemand ein Script dafür. Andernfalls muss ich mich selbst mal an CS4-JavaScripts rantasten.

Viele Grüße

Stephan

baerlichkeit
27.07.2010, 07:53
Ich habe leider keine Zeit mich mit dem scripting zu beschäftigen, wollte ich aber immer schon mal machen.

Ich hatte gedacht du nutzt auch Lightroom, da ist es ja ein leichtes...

VG
Andreas

Kerstin
27.07.2010, 08:05
Ich wollte auch gerade auf LR hinweisen .... aber der Andreas wieder ;)

Hat Russell Brown da nicht was in seinen Scripten?

baerlichkeit
27.07.2010, 08:13
Wobei das Quatsch ist mit Lightroom. Das muss rekursiv gemacht werden, und das geht nur programmatisch.

Auf meiner Webseite mache ich das :D Hilft dir leider nicht ;)

Kerstin
27.07.2010, 08:18
Ruf mich mal an heute :)

eddy23
27.07.2010, 09:48
Yepp :D richtig gelesen.
Die Freeware kann's. wenn schon die Dicken boliden sowas nicht haben, muss eine Freeware das machen :D

Runterladen (http://www.faststone.org/FSViewerDownload.htm)
oder bei Chip (http://www.chip.de/downloads/FastStone-Image-Viewer_16554652.html)

Bilder Markieren, F3 drücken (oder rechtsklick auf markierte bilder, Werkzeuge -> Stapelumwandlung)
dann alle was man braucht einstellen (Speicherort, JPEG-Quali, Umbenennen)
das Häkchen bei Erweiterte Funktionen (...) setzen
Dann Button "Erweiterte Funktionen" klicken
PopupFenster öffnet sich. Dann nochmal im ersten Reiter Häkchen setzen.
Jetzt kannst du alles mögliche vorgeben. z.B. Lange seite max. 1024, kurze min. 768 (größe ändern auf Seite basierend)
Seitenverhältnis beibehalten oder nicht...
oder oder oder...

Viel Spaß

amateur
27.07.2010, 14:03
Yepp :D richtig gelesen.
Die Freeware kann's. wenn schon die Dicken boliden sowas nicht haben, muss eine Freeware das machen :D


Danke für den Tipp. In meinem alten PSP kann ich das auch.

Aber ich will das in PS CS4 machen, weil ich in der Aktion auf dem Zielformat auch noch auf meine Art schärfen und noch so ein paar Kleinigkeiten machen und das ganze dann in der Stapelverarbeitung anwenden will.

@Kerstin: Du meintest Andreas? Isch habe keine Nummer. ;)

Viele Grüße

Stephan

Kerstin
27.07.2010, 14:32
*gg* - ja, ich meinte wohl Andreas. Auch wenn hier immer gesagt wird, das sei besser als ein Chat, so ist hiermit wieder der Gegenbeweis angetreten :)
Ab und an sollte man sich wohl mal ein wenig präziser ausdrücken :oops:

BodenseeTroll
27.07.2010, 16:39
Ausgangslage:

- Landscape (Querformat, x > y) wird skaliert auf 1024 x irgendwas
- Portrait (Hochformat, y > x ) wird skaliert auf irgendwas x 1024

Dadurch wird ein Landscape-Bild auf dem querliegenden Pad, ein Portrait-Bild auf dem stehenden Pad optimal dargestellt. Das funktioniert aber nur, solange das Seitenverhältnis des Fotos nicht "quadratischer" als das des Pads ist. Ein out of cam A700 Foto wird auf 1024x689 (oder eben 689x1024) formatiert. Bei einem bearbeiteten, im schlimmsten Fall quadratischen, Bild muss aber die lange Seite auf die kurze iPad Dimension skaliert werden.

Sowas lässt sich für CS Javascripten, und zwar so:

--------<<< hier abbeissen >>>----------------------------------------------------------------------------------------

// Save the current preferences

var startRulerUnits = app.preferences.rulerUnits
var startTypeUnits = app.preferences.typeUnits
var startDisplayDialogs = app.displayDialogs

// Set PS to use pixels and display no dialogs

app.preferences.rulerUnits = Units.PIXELS
app.preferences.typeUnits = TypeUnits.PIXELS
app.displayDialogs = DialogModes.NO

// get pointer to active Image

doc = app.activeDocument
doc.changeMode( ChangeMode.RGB )

if( doc.width.value > doc.height.value ) {
docLong = doc.width.value
docShort = doc.height.value
docLandscape = true
}
else {
docLong = doc.height.value
docShort = doc.width.value
docLandscape = false
}

if( (docShort / docLong) < 0.75 ) {
if( docLandscape ) {
doc.resizeImage( 1024, null )
}
else {
doc.resizeImage( null, 1024 )
}
}
else {
if( docLandscape ) {
doc.resizeImage( 768, null )
}
else {
doc.resizeImage( null, 768 )
}
}

// Reset the application preferences
app.preferences.rulerUnits = startRulerUnits
app.preferences.typeUnits = startTypeUnits
app.displayDialogs = startDisplayDialogs

--------<<< hier abbeissen >>>----------------------------------------------------------------------------------------

Ja, das geht sicher noch schöner, im Originalquelltext ist auch alles hübsch eingerückt, das übernimmt er hier leider nicht, aber es funktioniert... Das Skript mit einem schönen Namen versehen, in Presets/Scripts werfen, und nach dem nächsten Neustart sollte es bei den Skripten auftauchen.

Viele Grüsse,

Michael

amateur
27.07.2010, 18:16
Hallo Michael,

super, Danke!

Ich hatte angefangen mich in das Scripting einzulesen und einige Ingredienzen herauszusuchen (die Umstellung auf das Pixelmaß, Auslesen von app.activeDocument und der width und height properties sowie die resizeImage-Methode...) aber noch nicht angefangen, das zusammenzusetzen und vor allem dann die alle zwischendurch auftauchenden Probleme (Syntax und sonstige Missverständnisse) zu lösen. Hätte mich bestimmt mangels Erfahrung noch 2 Abende gekostet.

Also nochmals vielen Dank! Genau so brauche ich das. Werde ich gleich zuhause ausprobieren.

Gibt es eigentlich sowas wie eine Entwicklungsunterstützung oder gar -Umgebung von seitens Adobe?

Viele Grüße

Stephan

Anaxaboras
27.07.2010, 18:23
Hi Michael,

super, dass du da weiterhelfen konntest :top:. Programmieren muss man halt können :D.

Wenn du das Script zur Verfügung stellst, könnte ich es hier im Forum zu Download hinterlegen - ist bestimmt auch noch für andere Photoshopper interessant :cool:.

Martin

Dat Ei
27.07.2010, 18:30
Hey Stephan,

Gibt es eigentlich sowas wie eine Entwicklungsunterstützung oder gar -Umgebung von seitens Adobe?

ja, die gibt es. Clickclack! (http://www.adobe.com/devnet/photoshop/scripting/)


Dat Ei

BodenseeTroll
27.07.2010, 19:37
Schön, wenn es hilft :D

Die PDFs, auf die Dat Ei verlinkt hat, sind Gold wert! Ohne die geht gar nichts, mein Skript beruht auch auf einem Beispiel aus einer der Dateien.

Debuggen ist etwas mühsam, aber man kann sich mit alert( dasWillIchWissen ) während des Skriptablaufs Variableninhalte ausgeben lassen.

Das ist natürlich noch ausbaufähig, wenn man z.B. immer die gleiche Art Schärfung durchführen will, bietet es sich an, sowas gleich ins Skript mit reinzunehmen.

Viele Grüsse,

Michael

Dat Ei
27.07.2010, 21:35
Hey Michael,

Die PDFs, auf die Dat Ei verlinkt hat, sind Gold wert!

ok, ich komm´ morgen mit der Sackkarre vorbei. Die Abholadresse kannst Du mir ja per PN schicken.

Es gibt natürlich auch Bücher zu dem Thema. Ich hatte vor einiger Zeit mal eines für ´nen Appel (nicht Apple!) und ´en Ei beim TerraShop gekauft ("PhotoShop mit JavaScript steuern" aus dem Franzis-Verlag).


Dat Ei

Anaxaboras
28.07.2010, 09:56
Michael war so nett, uns allen sein Script zur Verfügung zu stellen :top:. Ich habe es hier angehängt.

Vielen Dank nochmals an Michael!

Martin

BodenseeTroll
28.07.2010, 11:38
ok, ich komm´ morgen mit der Sackkarre vorbei.

Öhm, tut mir leid, falsche Adresse. Ich kannte die PDFs schon, sonst hätte ich sie auch nicht für mein Skript benutzen können. Ich fürchte, Du musst Dir einen anderen Goldlieferanten suchen.

Das Buch gibt es in der google-Bibliothek vollständig zum durchlesen. Klick (http://books.google.de/books?id=a7vqckzKLZMC&printsec=frontcover&dq=PhotoShop+mit+JavaScript+steuern&source=bl&ots=lnkDHr9Ms4&sig=_og10_uX7kjNHZpUvNFLIgx9IH4&hl=de&ei=I_pPTOe8GsmTONW3jZUB&sa=X&oi=book_result&ct=result&resnum=3&ved=0CCQQ6AEwAg#v=onepage&q&f=false)

Das Buch kannte ich noch nicht, aber das kostet nur 2€ bei Amazon, dafür gips kein Gold, aber nen Kaffee, wenn Du mal an den Bodensee kommst.

Viele Grüsse,

Michael

Dat Ei
28.07.2010, 11:54
Hey Michael,

Das Buch gibt es in der google-Bibliothek vollständig zum durchlesen. Klick (http://books.google.de/books?id=a7vqckzKLZMC&printsec=frontcover&dq=PhotoShop+mit+JavaScript+steuern&source=bl&ots=lnkDHr9Ms4&sig=_og10_uX7kjNHZpUvNFLIgx9IH4&hl=de&ei=I_pPTOe8GsmTONW3jZUB&sa=X&oi=book_result&ct=result&resnum=3&ved=0CCQQ6AEwAg#v=onepage&q&f=false)

Das Buch kannte ich noch nicht, aber das kostet nur 2€ bei Amazon,...[/Quote]

das ist sicherlich sehr hilfreich für Interessenten. :top:

Aber eine kleine Anmerkung: das Buch ist für Photoshop in den Versionen 7 bis CS2 geschrieben worden. Ich war bei meinen Experimenten schon über ein paar Dinge gestolpert, die sich mittlerweile geändert haben und so in der Form nicht mehr funktionieren!

...dafür gips kein Gold, aber nen Kaffee, wenn Du mal an den Bodensee kommst.

Den nehme ich dann auch gerne an! An den letztjährigen Bodensee-Besuch habe ich noch sehr schöne Erinnerungen!


Dat Ei