16568
28.03.2006, aktualisiert am 08.05.2006
16332
18
0
Größe von Bildern ändern
And again...
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
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
DANKE
Lonesome Walker
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
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
DANKE
Lonesome Walker
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 29097
Url: https://administrator.de/contentid/29097
Ausgedruckt am: 25.11.2024 um 05:11 Uhr
18 Kommentare
Neuester Kommentar
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
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
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
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
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.
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.
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
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
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
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
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
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:
Jetzt das Bild skalieren:
Und zum Schluss dass skalierte Bild auf die Leinwand aufbringen:
Das Ganze in das weiter oben gepostete Script integriert, und schon kann's losgehen mit der eingriffsfreien Stapel-Konvertierung... ;)
Gruss
Stefan
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
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.
/* 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.