Page 1 of 2 12 LastLast
Results 1 to 10 of 14

Thread: Bilder per Stapelverarbeitung auf maximale Größe runterrechnen

  1. #1

    Bilder per Stapelverarbeitung auf maximale Größe runterrechnen

    Problem:
    Eine Größer Anzahl an Bildern in diversen Formaten (bmb, jpg, png evtl gar raw) soll in einem Rutsch auf ne maximale Größe von <1MB runtergerechnet werden. Da die Auflösung und die Vorkomprimierung stark variiert such ich einen Weg diese Bilder mit minimalen Verlust runter rechnen zu lassen ohne per Hand immer die optimalste Einstellung für die größte Annäherung an 1MB Datenmenge bei optimalster Qualli finden zu müssen. (Am besten mit automatischer Anpassung der Auflösung wenn zuviele Artefakte reinkommen würden)
    Anm: Bitte nur mit Freeware

  2. #2
    XnView -> Bilder Auswählen -> Batch Convert -> Advanced Options -> Resize -> 1024 als Breite, Höhe leer lassen -> Only Decrease -> Sollte 90% der Bilder auf 200-500 KB reduzieren.

    Kompression der Bilder findet man woanders, unter Tools -> Options -> Write, dann jedes einzelne Format. Würd ich aber erstmal so lassen.

    Eine bessere Antwort bekommst du, wenn du uns verrätst, was die größte und die kleinste Auflösung sind, dann die größten und kleinesten Dateigrößen. RAW und BMPs sollten am größten sein, ich wurde diese deshalb erst zu JPEG oder GIF/PNG konvertieren, abhängig der Bildsorte, erst dann verkleinern.

  3. #3
    Das soll was für ne andere Comunity werden, also nen großen Userkreis zur Verfügung stehen, die Größe die als Ausgangspunkt vorliegt ist also wirklich unbekannt.

  4. #4
    Ok, ein schlechter Tipp ist besser als keiner, also hier ein schlechter:
    Für Linux:
    Guck die den Befehl "convert" an, da gibt es den Parameter "limit", was genau der macht weiß ich nicht, aber sieht schon recht vielversprechend aus.
    evtl. kannst du da ja auch einfach eine Schleife machen, die so oft komprimiert, bis eine Datei unter dem Wert von 1MB liegt.

  5. #5
    Rofl ne Schleife von Komprimierungen zaubert wunderbare Artefakte rein und Abbruchbefehle über Dateigröße mit ner batch zu definieren grenzt nach meinem Wissen fast an ner Unmöglichkeit

  6. #6
    Was verkleinertes nochmals verkleinern bis es passt würd ich nicht... geh lieber vom Original aus...

    Du könntest zB mit voreingestellten Verkleinerungen arbeiten, bis die Dateigröße eben unter 1mb fällt, und dann abbrechen.

  7. #7
    Schleife ist nicht verkehrt, Bild aufnehmen, kleinerrechnen, Größe überprüfen.
    Sollte die Datei nun größer als 1 MB sein wird sie verworfen und von neuem angefangen, diesmal wird das Bild aber noch stärker komprimiert, das Stufenweise so oft bis es passt.

    Funktioniert aber nur mit komprimieren, verkleinern kann man nicht mit vorgegebenen größen weil dann ja die Seitenverhältnisse nicht mehr passen.

  8. #8
    Original von 2fast4you
    Schleife ist nicht verkehrt, Bild aufnehmen, kleinerrechnen, Größe überprüfen.
    Sollte die Datei nun größer als 1 MB sein wird sie verworfen und von neuem angefangen, diesmal wird das Bild aber noch stärker komprimiert, das Stufenweise so oft bis es passt.

    Funktioniert aber nur mit komprimieren, verkleinern kann man nicht mit vorgegebenen größen weil dann ja die Seitenverhältnisse nicht mehr passen.
    Wiso? Rechne dir das Seitenverhältnis doch einfach aus:

    Code:
    Länge=800; //von mir fiktionale vorgegebene Werte, die verkleinert werden sollen
    Höhe=600;
    
    
    Verhältnis=Länge/Höhe;
    NeueLänge=500;
    NeueHöhe=NeueLänge/Verhältnis;
    
    NeuesBild=Konvertierungsfunktion(OriginalBild, NeueLänge, NeueHöhe)
    
    if size(NeuesBild)>1048576 do all tha stuff again
    Die genauen Befehle lass ich dich raussuchen

  9. #9
    Und "kluge" Programme lassen es meistens auch zu, dass nur ein Wert angegeben wird und dann wird der andere automatisch gesetzt.
    Wenn es aber "professionell" gemacht werden soll, sollte man vorher vielleicht noch gucken wie groß das Bild vorher ist... Nen 10*2048 Bild führt meistens zu unschönen Effekten...

    Achja, ich kenne mich in der Bash-Programmierung nicht aus (hab es ja nichtmal geschafft vorhandene Befehle in ne Script datei zu packen (das nichtmal Parameter bräuchte)), aber warum gehen keine Abbruchbefehle? Geht das "if" nicht? Wie gesagt hab mich damit nicht beschäftigt.

    So, wer sich weiter damit auseinander setzen will, ich gebe einfach den kläglichen Rest meines Wissen hier rein:

    Code:
    ls -1 *.jpg | while read file;
    > do convert -resize x125 "$file" "`basename thumb_"$file"`";
    > done
    Code für die Bash, nimmt alle jpg Bilder und verändert sie so, dass sie "nurnoch" 125 Pixel groß sind, Breite wird automatisch gemacht. Und sie bekommen natürlich einen neuen Namen.

  10. #10
    Also bash war linux und batch war windows nur, dass batch ohne erweiterung echt bissl mau is :/ If gibt es zwar aber nichts um den Abbruch mit ner gewissen Dateigröße zu verbinden. Zumindest is mir nichts bekannt.
    Is auch egal. Inzwischen hat der Betreiber auch die Auflösung begrenzt was es recht einfach macht. Mitlerweile hat ein Anderer ne Batch für Xnview geschrieben die das macht (resize blasülz...)

Similar Threads

  1. Maximale Temperatur einer 9800 Pro?
    By Sacred in forum Hardware
    Replies: 8
    Last Post: 08-04-2005, 11:28 AM
  2. Der Große RTL-IQ-Test
    By Mr.GameCube in forum Diskussion Allgemein
    Replies: 22
    Last Post: 09-16-2004, 09:11 AM
  3. große Schei**
    By Wurstmann in forum Diskussion Spiele
    Replies: 18
    Last Post: 12-08-2003, 05:44 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •