2016-07-21 13 views
0

ich mit dem ImageMagick konvertieren Programm über die Kommandozeile arbeite. Ich benutze es, ein Bild in 16x16 Bilder aufzuspalten. Dies funktioniert gut mit dem Crop-Befehl. Ich mache als solche:ImageMagick konvertieren Ernte mit formatierten Dateinamen

convert.exe "C:\Users\Matt\Desktop\tiles\maps\shrine_source\shadow_light.png" -crop 16x16 "C:\Users\Matt\Desktop\tiles\maps\shadow_light_input\shadow_light_%02d.png" 

Das Problem ist, würde Ich mag den Teil nach dem Unterstrich aus einem Index ausgehend zu formatieren. Beispielsweise, ausgehend von „shadow_light_2048.png“ und so weiter. Ein Blick auf einige Beispiele dachte ich es mit Klammer Schreibweisen wie „shadow_light_%[2048-3071].png“ getan werden könnte, aber es scheint, dies zu ignorieren.

Könnte mir jemand helfen, in die richtige Richtung zu zeigen, wie man richtig Format des Dateinamens? Idealerweise so, dass ich nur den Startindex angeben muss.

Antwort

1

Verwenden Sie die -scene Option, um die Szenennummer zu setzen, was gesetzt wird, wo man %d verwenden:

convert input.png -crop ... -scene 2048 result-%04d.png 

So zum Beispiel, lassen Sie sich ein 20x20 schwarzes Bild erstellen und zerhacken in Kacheln jede 10x10:

convert xc:black[20x20] -crop 10x10 -scene 2048 tile-%d.png 

-rw-r--r-- 1 mark staff  301 21 Jul 09:18 tile-2051.png 
-rw-r--r-- 1 mark staff  301 21 Jul 09:18 tile-2050.png 
-rw-r--r-- 1 mark staff  301 21 Jul 09:18 tile-2049.png 
-rw-r--r-- 1 mark staff  280 21 Jul 09:18 tile-2048.png 
+0

Das funktioniert perfekt! Danke für die Lösung und das Beispiel. – Arbel

Verwandte Themen