Batch-Konvertierung von 5000 Vektoren in PNG mit Transparenz

Ich habe 5000 Vektorbilder (meistens eps / svg), die ich in PNG mit transparentem Hintergrund konvertieren muss. PNG-Bilder dürfen maximal 4000 x 4000 Pixel groß sein

Irgendeine Idee, was der beste Weg wäre, dies zu tun? Die meisten Batch-Bildkonverter unterstützen keine Transparenz und Größenänderung.

Der erste Teil der Aufgabe (Vektor zu PNG) könnte mit Illustrator- oder Photoshop-Aktionen erledigt werden, aber ich habe keine Möglichkeit gefunden, die maximale Größe auf 4000 x 4000 festzulegen, während das Seitenverhältnis und die maximale Auflösung den Anforderungen entsprechen

Eine Möglichkeit könnte sein, die Aufgabe aufzuteilen und das PNG durch etwas anderes laufen zu lassen, um die Größe auf maximal 4000 x 4000 Pixel zu ändern ... Vielleicht Inkscape? Ich habe gesehen, dass einige Leute in der Lage waren, Python-Skripte zu schreiben, um ähnliche Aufgaben zu erledigen

Das Problem ist, dass es schwierig ist, das Limit von 4000 x 4000 Pixel festzulegen

Antworten (1)

Das wäre eine Aufgabe für das Kommandozeilentool Image Magick mogrify . Der folgende Befehl:

mogrify -resize '4000x4000' -format png *.svg

Konvertiert alle SVG-Dateien im aktuellen Ordner in PNG unter Beibehaltung des Seitenverhältnisses, aber mit der größten Seite von genau 4000 Pixeln.

Falls wir in der Quell-SVG einen nicht transparenten weißen (oder eine andere Farbe ) Hintergrund definiert haben, können wir Transparenz hinzufügen mit:

mogrify -resize '4000x4000' -transparent white -format png *.svg

Hinweis zur Windows-Befehlszeile:
Wir müssen den Befehlen voranstellen magickund sollten keine Häkchen ', sondern nichts oder stattdessen Anführungszeichen "verwenden.

Ein Beispiel für einen Windows-Befehl könnte wie folgt aussehen:

magick mogrify -resize "4000x4000" -transparent white -format png *.svg

Das Konvertieren von EPS-Dateien benötigt zusätzlich einen Dichtewert (in DPI):

magick mogrify -resize "4000x4000" -density 300 -transparent white -format png *.eps
Ich bin total noob, könnten Sie auf eine Dokumentation über die Verwendung von ImageMagick mit Windows verlinken? Ich habe die Dokumente auf der offiziellen Website gelesen, ich habe genau das getan, was sie vorgeschlagen haben, ImageMagick für Windows installiert und versucht, Ihre Befehle über eine CMD-Eingabeaufforderung oder WindowsPowershell auszuführen, aber es heißt immer: "Der Befehl mogrify wird nicht erkannt".... Was vermisse ich?
Der Konvertierungsbefehl scheint erkannt zu werden, aber ich erhalte eine Fehlermeldung über den Parameter 4000x4000 gyazo.com/e9a8e86909ae9514ba7ffa152aff4b87 .... Der Installationspfad von ImageMagick ist der Standardprogrammordner, aber die Suche nach "morgrify" in diesem Ordner gibt keine ausführbare Datei gyazo zurück. com/45572dbacc8ecae2b990063f40f92757 .... Ich habe gerade Standard-ImageMagick für Windows installiert, brauche ich noch etwas? Danke!
Es funktioniert !!!! Ich danke dir sehr ! Du hast mir gerade TAGE Arbeit erspart!
Beim Testen dieses Befehls mit EPS anstelle von *.svg erhalte ich einen seltsamen Fehler: gyazo.com/7d4ecc904702e94f0d813588f7bdd45c
Das Ausgabeergebnis der EPS-Datei sieht folgendermaßen aus: gyazo.com/0d2d313b73d669ef0c92eca9855c23e5 Wenn ich dasselbe Bild in Illustrator öffne und es stattdessen in SVG umwandele, speichere es in genau demselben Ordner und führe dann das Skript mit dem Parameter *.svg aus PNG sieht gut aus und es gibt keinen Fehler ... Es sieht also nicht nach einem Pfadfehler oder einem Fehler mit der Grafikdatei aus ... SVG werden korrekt konvertiert, aber nicht EPS :(
Danke für die Antwort ! Ich habe den Befehl getestet, ich bekomme einen anderen Fehler, aber das gleiche Ergebnis (pixelized png) gyazo.com/a59aa279458bcc5e9a584212368d7373
Anscheinend "PNG unterstützt keine dpi, nur Punkte pro Zentimeter. Also konvertiert Imagemagick Ihre 300 dpi automatisch in die entsprechende dpc" Ich habe auch mit verschiedenen Parametern ohne Erfolg getestet: -units PixelsPerCentimeters -colorspace sRGB -density 300
Für die Bildschärfe müssen wir die Dichtewerte an unsere Bedürfnisse anpassen ... je mehr, desto schärfer das resultierende PNG. Versuchen Sie es für eine Größe von 4000 x 4000 px mit einer Dichte von 1200 oder mehr (beachten Sie jedoch, dass wir für die Berechnung des Ergebnisses umso mehr Ressourcen benötigen, je höher die Dichte ist).
Selbst mit einer Dichte von 1200 sieht es im Vergleich zum Original so aus: gyazo.com/edc9174796ea8c3130e9fc8e17933528 Ressourcen sind kein Problem, ich habe i7 4,4 GHz 6950x (10 Kerne) + 64 GB DDR4 + GTX 1080 Titan X + 1 TB SSD 960 Pro
Sieht aus wie ein Dithering-Artefakt. Könnte dies eine Bitmap sein, die in ein EPS eingebettet ist?
Ich habe mein Quell-EPS und weitere Details hier geteilt: imagemagick.org/discourse-server/…
Hier ist mein Versuch eines Bildes mit einer Höhe von 4000 Pixel und einer Dichte von 4800: i.stack.imgur.com/L0Elc.png (aufgrund der Größe beschnitten) - sieht für mich in Ordnung aus.