2017-09-15 4 views
0

Es gibt zwei Bild, eines ist gif, ein anderes ist png.Jetzt muss ich das gif Bild mit PNG-Bild zu wickeln.Ich verwende ImageMagic und ich denke, es kann für mich arbeiten.Wrap ein gif mit einem png

convert src.png input.gif -gravity Center -composite des.gif; 
  • Wie Sie sehen, ist der Ausgang unerwartet während ein schwarzer Block ist.
  • Und die des.gif ist nicht animiert.

enter image description here

links ist des.gif die richtige input.gif

EDIT

Hier ist mein Test-Dateien ist. https://drive.google.com/drive/folders/0B-64AliLi9OnWVQyLWU3TElHNHM?usp=sharing

+0

Da wir die Bilder, mit denen Sie begonnen haben, nicht sehen können, ist es praktisch unmöglich zu helfen ... –

+0

@MarkSetchell Ich aktualisiere meine Frage. – CoXier

+0

Bitte posten Sie 3 separate Bilder - genau zwei Eingabebilder und ein Ausgabebild. –

Antwort

1

Sie haben 77 Frames. Aber der erste Rahmen ist viel kleiner als der Rest. Von Imagemagick (6.9.9.13 Q16 Mac OSX Sierra), kann ich dies aus

identify input.gif 

input.gif[0] GIF 216x384 216x384+0+0 8-bit sRGB 256c 3.20786MiB 0.010u 0:00.009 

input.gif[1] GIF 1080x1920 216x384+0+0 8-bit sRGB 64c 3.20786MiB 0.010u 0:00.009 

... 

input.gif[76] GIF 1080x1920 216x384+0+0 8-bit sRGB 64c 3.20786MiB 0.000u 0:00.000 

auch alle Bilder sehen, aber die ersten sind, in der Nähe von grün. Nur der erste hat einen Kreis darin.

Dennoch, wenn Sie Ihre input.gif beheben, können Sie Composite sie so alle gif Rahmen animieren über den Hintergrund den folgenden Befehl ein png mit:

convert image.png null: \(input.gif -coalesce \) -gravity Center -layers composite des.gif 

Beachten Sie, dass nach dem coalesce alle Rahmen 216x384 werden. Das macht die Overlay-Frames viel zu klein. Dadurch werden alle Frames größer, sodass sie in den Hintergrund passen. Aber immer noch wird alles grün genau für den ersten sein.

convert image.png null: \(input.gif -coalesce -resize 1080x1920! \) -gravity Center -layers composite des.gif 

Siehe http://www.imagemagick.org/Usage/anim_mods/#background 7 Imagemagick Wenn verwenden, dann konvertieren ändern Magick.

+0

'magick image.png null: \ (input.gif -coalesce -größe 1080x1920! \) -gravity Center -layers composite des.gif funktioniert nicht für mich und es läuft weiter und kein Ergebnis. – CoXier

+0

Es dauert lange, bis die Größe von 77 Bildern geändert wurde. Sei geduldig, es dauert Minuten für mich. Es sollte fertig sein. Was ist Ihre genaue Version von ImageMagick? Wenn IM 6 dann verwenden Sie anstelle von Magie konvertieren. Wenn IM 7 dann musst du magick benutzen wie du geschrieben hast. Möglicherweise müssen Sie die Namen Ihrer Bilder ändern, wenn sie nicht so sind, wie Sie es geschrieben haben und was für mich heruntergeladen wurde. – fmw42

+0

Ich entschuldige mich für die falsche Testdatei wegen der Größe ich sie vor dem Hochladen auf Google Device.Now ich wieder hochladen. – CoXier

Verwandte Themen