2017-09-15 160 views
0

有兩個圖像,一個是gif,另一個是png.Now我需要用png圖像包裝gif圖像。我使用ImageMagic,我認爲它可能適用於我。用PNG包裝一個gif

convert src.png input.gif -gravity Center -composite des.gif; 
  • 正如你看到的,輸出的是意想不到的,而有一個黑塊。
  • des.gif沒有動畫。

enter image description here

左邊是des.gif右邊是input.gif

編輯

這裏是我的測試文件。 https://drive.google.com/drive/folders/0B-64AliLi9OnWVQyLWU3TElHNHM?usp=sharing

+0

由於我們無法看到您開始使用的圖像,因此幾乎不可能提供幫助... –

+0

@MarkSetchell我更新了我的問題。 – CoXier

+0

請張貼3張獨立的照片 - 正好兩張輸入圖像和一張輸出圖像。 –

回答

1

您有77幀。但是第一幀比其他所有幀小得多。從ImageMagick的(6.9.9.13 Q16的Mac OSX塞拉利昂),我可以從

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 

也看到這一切幀,但第一個接近綠色。只有第一個有一個圓圈。

不過,如果您修復input.gif,你可以組合它們,以便所有的gif動畫幀在背景上使用以下命令巴布亞新幾內亞:

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

注意,聚結後,所有的幀成爲216x384。這會使覆蓋幀太小。這將使所有框架更大,以便它們適合背景。但是,第一個仍然是綠色的。

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

查看是否使用ImageMagick 7 http://www.imagemagick.org/Usage/anim_mods/#background ,然後更改轉換爲magick。

+0

'magick image.png null:\(input.gif -coalesce-resize 1080x1920!\)-gravity Center -layers composite des.gif'對我不起作用,並且它保持運行並且沒有結果。 – CoXier

+0

調整77張圖像需要很長時間。耐心點,我需要幾分鐘。它應該完成。 Imagemagick的確切版本是什麼?如果IM 6則使用轉換代替magick。如果是IM 7,那麼你必須使用你寫的magick。如果您的圖片不符合您的要求以及爲我下載的內容,您可能需要更改圖片的名稱。 – fmw42

+0

我很抱歉錯誤的測試文件,因爲我上傳到谷歌設備之前調整它們。現在我再次上傳。 – CoXier