16568
Goto Top

Größe von Bildern ändern

And again... face-wink


Heute mal ein anderes Problem:

ca. 10.000 Bilder, die ich, weil das ja ein wenig Zeit kostet, gerne im Batch-Verfahren umbiegen muß.

Anforderung:


Ursprüngliche Größe: unbekannt
Ziel-Größe: 500x500 Pixel 72 dpi

Bild darf nicht verzerrt werden, d.h. wenn das Bild 800x700 hat, muß das Verhältnis bestehen bleiben, und der Rest mit weiß ausgefüllt werden.
Selbstverständlich muß dabei das Bild zentriert dargestellt werden.


Verfügbare Software:

- Picture Publisher 9
- Adobe Creative Suite 2
- Freeware, sofern der Name genannt wird face-big-smile


Weiß da jemand eine Lösung? Mein Kunde steht da auch auf dem Schlauch; ich tendiere da zu einem Script für Photoshop, bin aber auch gerne mit IrfanView oder so zufrieden face-big-smile


DANKE


Lonesome Walker

Content-Key: 29097

Url: https://administrator.de/contentid/29097

Ausgedruckt am: 28.03.2024 um 20:03 Uhr

Mitglied: Ultraschnecke
Ultraschnecke 28.03.2006 um 01:51:12 Uhr
Goto Top
Nabend,

schau mal nach imagemagick (http://www.imagemagick.org/). Mit dem Befehl convert (muss u.u. umbenannt werden, da der Windows-Befehl convert in den Pfad eingetragen ist) koennen diverse Manipulationen durchgefuehrt werden, danke mal das was Du suchst ist auch dabei.
Speziell die Optionen resize und repage wuerd ich mir genaue anschauen.

Gruss
Mitglied: simba
simba 28.03.2006 um 04:35:40 Uhr
Goto Top
Moin.

PhotoShop ist die richtige Wahl. Ist auch schnell gemacht. Einfach die Schritte bei einem Bild aufnehmen und dann auf den Ordner anwenden ist schnell getan.

Erst Resize, dann Canvas Size ändern. fertisch.

Mit IrfanView wäre es auch schnell getan den ersten Schritt zu übernehmen aber IrfanView kann afaik das Bild auf eine bestimmte Größe setzen, ohne es zu verzerren. Dafür ist das resize hier schnell getan. Batchkonvertierung -> Alle Bilder hinzufügen -> Ausgabepfad setzen -> Spezialoptionen -> Neue Größe -> Lange Seite auf 500 px -> proportional -> resample-Funktion -> 72 dpi -> fertisch. ggf auch noch unter Optionen ein anderes Format auswählen wennde willst.

Mit PhotoShop weiß ich aus dem Stegreif nicht wie ich ihn dazu bringe immer die größere Seite auf 500px zu setzen, geht aber sich auch.

hiermit müsste es gehen http://www.ps-scripts.com/bb/viewtopic.php?t=330
ggf noch ein script für center on canvas dahinterhängen, dann sollte das tun


Daher mein Vorschlag: Resize mit IrfanView, danach ein durchlauf mit PhotoShop um ggf die Größe aufzufüllen mit weiß.


Greetz
simba
Mitglied: NaCkHaYeD
NaCkHaYeD 28.03.2006 um 06:52:33 Uhr
Goto Top
Hi,

es geht auch kostenlos: IrfanView kann Batch Funktionen
Hast du XP, dann kann es XP selber. Dateien anmeiern, rechte Maustaste, Größe ändern.

mfg
Thomas
Mitglied: stpe
stpe 28.03.2006 um 19:00:07 Uhr
Goto Top
PhotoShop ist die richtige Wahl
Meinst Du nicht, dass ein Profi-Bildbearbeitungsprogramm für eine Aufgabe wie der Batch-Skalierung von Bildern ein wenig überdimensioniert ist (eine aktuelle CS2 beispielsweise kostet z.Zt. so um die 900 Euro )??? Und auch wenn, wie hier, Photoshop vorhanden ist, ist die gescriptete Photoshopkonvertierung nicht gerade resourcenschonend.

Da finde ich die Vorschläge Irfanview und ImageMagick schon konstruktiver ;)

Ich persönlich würde dabei auf jeden Fall Imagemagick vorziehen.

Edit: Ich habe irgendwo noch eine Batch-Datei für die Skalierung von Bildern herumliegen. Ich such kurz durch.
Mitglied: NaCkHaYeD
NaCkHaYeD 28.03.2006 um 19:08:55 Uhr
Goto Top
Wirf die Batch Datei weg,

mit Irfan View muss du nur "Batchumwandlung" wählen und den Rest klickelt man per Maus

mfg
Thomas
Mitglied: stpe
stpe 28.03.2006 um 19:28:24 Uhr
Goto Top
Auch wenn Thomas das gerne durchklickt, hier das Script (in diesem Fall realisiert mit IrfanView).

Ich sehe beim Scripten den Vorteil, dass man flexibel auf Anforderungen reagieren kann (man kann das Batchfile leicht um weitere Aufgaben ergänzen, oder einfach den Konverter austauschen, ...).

In diesem Fall zieht das Script aus dem Sourcedir (das könnte z.B. auch ein Wechseldatenträger sein) die Originalbilder in das Arbeitsverzeichnis, speichert eine konvertierte Version in Outputdir und archiviert die Originalversion im Archivdir.

Das Archivieren kann natürlich weggelassen werden, es streicht imho, wie oben gesagt einfach den Vorteil eines Scriptes gegenüber der "einfachen" Nutzung von Programmfunktionen heraus.

@echo off

rem parameter
set converter=c:\programme\irfanview\i_view32.exe

set basedir=c:\zielverzeichnis-basis
set sourcedir=d:\quellverzeichnis
set inputdir=%basedir%\neu
set outputdir=%basedir%\skaliert
set archivedir=%basedir%\archiv

set inputfiles=%inputdir%\*.jpg
set outputfiles=%outputdir%\*.jpg

set convparam=%inputfiles% /resample=(500,500) /aspectratio /convert=%outputfiles%


rem konvertierung
if not exist %sourcedir% goto fehler
if not exist %inputdir% goto fehler
if not exist %outputdir% goto fehler
if not exist %archivedir% goto fehler
if not exist %converter% goto fehler

rem zu archivierende bilder auf die festplatte kopieren

for /r "%sourcedir%" %%d in (*.jpg) do copy %%d %inputdir%  

%converter% %convparam%

rem nach der konvertierung muessen die bilder ins archiv
copy %inputfiles% %archivedir%
if %errorlevel%==0 del /q %inputfiles%
goto ende

rem fehlermeldungen
:fehler
echo Es ist ein Fehler aufgetreten. Bitte ueberpruefen Sie:
echo ob der Pfad %inputdir% existiert,
echo ob der Pfad %outputdir% existiert und
echo ob der Pfad %archivedir% existiert.
echo Stellen Sie ausserdem sicher, dass der Bilder-Konverter unter %converter% erreichbar ist,
echo und dass die Original-Bilder unter %sourcedir% gespeichert sind.


rem ende
:ende
Mitglied: Nippie
Nippie 28.03.2006 um 19:38:26 Uhr
Goto Top
laba.... Einfach Microsoft Powertoys/Image reseizer... Ganz einfach und kostenlos.

Einfach nach den installieren Die zu reseizenden Pics markieren --> Rechtsklicken --> Reseize it!


mfg niko
Mitglied: 16568
16568 28.03.2006 um 20:10:08 Uhr
Goto Top
Leider bringt das alles nix...

Das mit IrfanView habe ich schon längst probiert, funktioniert überhaupt gar nicht face-sad

Die Bilder sind entweder nur 500 breit, oder nur 500 hoch, und die andere Seite ist eben nicht 500...


Lonesome Walker
Mitglied: Nippie
Nippie 29.03.2006 um 21:48:07 Uhr
Goto Top
und mit image reseizer von Microsoft Powertoys???

mfg niko
Mitglied: 16568
16568 29.03.2006 um 22:14:23 Uhr
Goto Top
Auch nicht, der behält das Verhältnis nicht bei.
Die Bilder sind 500x500 Pixel, allerdings total verzogen face-sad


Aaaaaaaaaaaargh, ich werde wahnsinnig face-big-smile
(da freuen sich dann aber paar Leute hier aus'm Forum face-wink )


Lonesome Walker
Mitglied: Taki
Taki 02.04.2006 um 01:42:48 Uhr
Goto Top
Guten Morgen Lonesome Walker,

wie es ast-rein funktioniert hat dir simba bereits genau erklärt. Damit die Bilder nicht verzerrt werden, kannst du nur eine Massangabe statisch setzen. Also entweder die Höhe oder die Breite. Da bei einer Bildbreite von 800px und einer Höhe von 700px ein Veränderungsfaktor von 1.1428571 (800px : 700px) herauskommt, hätte das besagte Beispielbild eine Breite von 500px und eine Höhe von 437.50px (500px:1.1428571=437.50px). Deshalb sollst du proportional auswählen. IrfanView erledigt dann den Rest für dich. Und da du über die Creative Suite 2 von Adobe verfügst, benutzt du das Programm Photoshop. Lege dir eine neues Bild (Höhe? x Breite?) an, füllst es mit weisser Hintergrund-Farbe falls nicht bereits geschehen, und wendest mit einer Aktion das Zusammenfügen der resize-Fotos mit dem neuen Bild. Und voila fertig, sind deine resizten Bilder mit dem weissen Hintergrund.


Gruss Taki
Mitglied: 16568
16568 02.04.2006 um 10:58:56 Uhr
Goto Top
ERST MA VIELEN DANK AN ALLE HIER ! ! !


Das mit Photoshop werde ich mir heute reinziehen.
Bin allerdings kein Grafiker, eher Programmierer face-big-smile


Also, drückt mir die Daumen...


Lonesome Walker
PS: Taki/Simba: Kann ich Euch per PN anschreiben, wenn ich zu doof dazu bin, und es nicht hinkriege ? face-smile
Mitglied: Taki
Taki 03.04.2006 um 11:22:13 Uhr
Goto Top
Hallo Lonesome Walker

hat die Konvertierung mit dem IrfanView geklappt?
und per PN ist auch kein Problem
Mitglied: simba
simba 05.04.2006 um 02:50:28 Uhr
Goto Top
Jo immer her mit die Fragen :D

ich guck hier aber nicht alle 3 Stunden rein, also kann es sein, dass ich erst nach 1-2 Tagen antworte.

In PS zum auffüllen einfach die Canvas Size auf 500x500 setzen, dass sollte schnell getan sein :D (auf die Farbe für neue Fläche achten ist mit im Canvas Dialog)

PS: hab mir meinen ersten Beitrag nochmal durchgelesen, ist ein wenig konfus gebe ich zu, war aber auch keine menschliche Zeit :D --- so wie jetzt ^^


Greetz
simba
Mitglied: 16568
16568 27.04.2006 um 11:00:38 Uhr
Goto Top
Okay, heute hieß es, friß oder stirb...

Das genannte Script ist tadellos, hat aber ein Prob...

Ich hab' jetzt viel über Photoshop gelesen (*würg*), habe erfahren, daß man auch ein Droplet erstellen kann...

Und das Script funktioniert nur mit einer Datei, es sei denn, ich erstelle eine Stapelverarbeitung.
Gut, Stapelverarbeitung erstellt.
Dann macht er mir mittlerweile auch schön artig center on canvas ^^
Aber das Speichern, da muß ich immer manuell "OK" klicken;
das is toll bei ca. 10.000 Stück...

Naja, das krieg' ich (vielleicht) auch noch hin...


DANKE!!!


Lonesome Walker
Mitglied: stpe
stpe 28.04.2006 um 19:26:16 Uhr
Goto Top
Habe doch noch eine Idee zum Thema.

Was hälst Du davon, die Bilder auf 500x500 zu skalieren und diese anschließend auf eine entsprechend große weisse Leinwand aufzubringen?

Also mit ImageMagick einfach so:

Zuerst eine weisse Leinwand anlegen:
convert -size 500x500 xc:white leinwand.jpg

Jetzt das Bild skalieren:
convert -geometry 500x500 original.jpg skaliert.jpg

Und zum Schluss dass skalierte Bild auf die Leinwand aufbringen:
composite -compose over -gravity center skaliert.jpg leinwand.jpg habefertig.jpg 

Das Ganze in das weiter oben gepostete Script integriert, und schon kann's losgehen mit der eingriffsfreien Stapel-Konvertierung... ;)

Gruss
Stefan
Mitglied: simba
simba 08.05.2006 um 02:53:18 Uhr
Goto Top
Naja ich denke nicht, dass es notwendig ist ein script diesre Art für IrfanView zu schreiben. Sieht zwar funktionabel aus, aber ist imho überflüssig. Die Batchfunktionalität von Irfanview ist ausgereift genug.

/* nebenbei versteh ich nicht so ganz wofür die archiv sache gedacht ist. Wenn man die wegläßt könnte man auch einfach inputdir in archiv umbenennen und feritg ist die Laube und hat mit der eigentlichen Aufgabe auch ncihts zu tun, das verwirrt höchstens, aber jeder nach seiner Facon */

Die Bilder auf 500*<500 bzw <500*500 hast du also schon geschafft. das nehm ich einfach mal an, so schwer ist IrfanView nun auch wieder nicht.

Ich denke mal dein Probelm ist es die Stapelverarbeitung in PhotoShop zu erstellen, die dir die ganzen rechteckigen Bilder nun quadratisch macht.


Dazu einfach wie folg vorgehen:

1. Starte PhotoShop

2. Drücke Strg*N -> Drücke Enter erstellt ein neues Bild das ist unser Dummy um die Aufgabe aufzuzeichnen

3. !!Wichtiger Punkt!! Jetzt erst eine neue Aktion aufzeichnen
3. 1 F9 drücken, um das Aktionen Fenster aufzurufen
3.2 auf den kleinen Ordner klicken um ein Neues Aktionsset anzulegen zB Eigene Aktionen
3.3 Auf den kleinen Abreißblock klicken um eine Neue Aktion anzulegen (vornehmlich im eben erstellten Set :D )
3.4 der Punkt sollte nun schon rot sein, wenn nicht draufklicken

--- Ab jetzt wird aufgezeichnet --

4. Gehe auf Bild -> Arbeitsfläche Picture -> Canvas in der englischen Verion alles weitere nur in deutsch
5. Breite 500 Pixel
Höhe 500 Pixel
Relativ deaktiviert
Position mittig (also Schaltfläche in der Mitte aktivieren)
Farbe: völlig egal es wird immer die aktuelle Hintergrundfarbe genommen beim Ausführen der Stapelverarbeitung

6. OK drücken

7. STOP !! Im Aktionen Fenster auf das kleine Stopzeichen drücken
-- Wichtig hier auf keinen Fall irgendwas abspeichern das wird mit aufgezeichnet und in der Stapelverarbeitung wird für dieses Abspeichern immer der Dialog angezeigt (außer man überschreibt ihn)
der rote Punkt sollte nun nicht mehr an sein!

-- Hier ist schon wieder Schluss mit Aufzeichnen --


8. Wir haben alles was wir brauchen. In deiner Aktion sollte ganu eine Anweisung "Arbeitsfläche" sein (beim expandieren kannste nochmal alles nachlesen), wenn nicht gehe wieder zu Punkt 1 (nächster Versuch)

9. Stelle die Hinterdrundfarbe auf die gewünschte (z.B. d drücken für weiß)

-- Jetzt kommt die Stapelverarbeitung --

10. Gehe auf Datei -> Automatisieren -> Stapelverarbeitung
Satz: Eigene Aktionen oder wie auch immer du dein Set genannt hast
Aktion: Aktion 1 oder wie auch immer deine Aktion heißt
Quelle: Ordner
--> auf wählen klicken und Quellordner auswählen
nichts anderes aktivieren (außer ggf Unterordner einbeziehen)
Ziel: Ordner
--> auf wählen klicken und Ziellordner auswählen
Kein Haken bei "Speichern unter" in Aktionen überschreiben
Dateibenennung zB
1tes Feld: Dokumentname
2ten Feld: _500x500
3tes Feld: Erweiterung

ich Rate in deinem Fall ob der Masse dazu unter Fehler eine Protokolldatei anzugeben


Und mit einem Klick auf OK beginnt der Zauber


Greetz
simba

Die Stapelverarbeitung wird so einfach arbeiten bis sie fertig ist und dich niemals zwischendurch nach irgendwas fragen.


Edit: sorry wegen dem kursiven überall, dass liegt daran das hier / / (ohne Leerzeichen getrennt) irgendwie mal als Aufforderung zum kursivschreiben gelesen werden und mal nicht, keine Lust das jetzt noch zu ändern.
Mitglied: 16568
16568 08.05.2006 um 09:32:19 Uhr
Goto Top
Weißt Du, das mit Kursiv geht mir sonstwo vorbei face-big-smile

Wichtig ist nur, daß es GEHT ! ! ! ! ! ! ! ! !

D A N K E ! ! ! ! !


Lonesome Walker
PS: Hab' ich schon D A N K E gesagt ? ? ?