2017-09-15 14 views
0

Il y a deux images, l'une est gif, l'autre est png. Maintenant, j'ai besoin d'envelopper l'image gif avec l'image png. J'utilise ImageMagic et je pense que cela peut marcher pour moi.Enveloppez un gif avec un png

convert src.png input.gif -gravity Center -composite des.gif; 
  • Comme vous le voyez, la sortie est inattendu alors qu'il ya un bloc noir. Le des.gif n'est pas animé.

enter image description here

gauche est des.gif le droit est input.gif

EDIT

Voici mes fichiers de test. https://drive.google.com/drive/folders/0B-64AliLi9OnWVQyLWU3TElHNHM?usp=sharing

+0

Comme nous ne pouvons pas voir les images que vous avez commencé, il est pratiquement impossible d'aider ... –

+0

@MarkSetchell Je mets à jour ma question. – CoXier

+0

Veuillez poster 3 images séparées - exactement deux images d'entrée et une image de sortie. –

Répondre

1

Vous avez 77 cadres. Mais la première image est beaucoup plus petite que tout le reste. De Imagemagick (6.9.9.13 Q16 Mac OSX Sierra), je peux voir cela de

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 

aussi tous les cadres, mais les premiers sont près de vert. Seul le premier a un cercle dedans.

Néanmoins, si vous fixez votre input.gif, vous pouvez les composites de sorte que tous les cadres gif animé sur l'arrière-plan en utilisant la commande png suivante:

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

Notez que tous après la soudent cadres sont 216x384. Cela rend les cadres de superposition trop petits. Cela rendra toutes les images plus grandes afin qu'elles s'adaptent à l'arrière-plan. Mais tout sera encore vert pour le premier.

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

Voir http://www.imagemagick.org/Usage/anim_mods/#background Si vous utilisez ImageMagick 7, puis changez converti à magick.

+0

'magick image.png null: \ (input.gif -coalesce -resize 1080x1920! \) -gravity Center -layers composite des.gif' ne fonctionne pas pour moi et il continue de fonctionner et aucun résultat. – CoXier

+0

Il faut beaucoup de temps pour redimensionner 77 images. Soyez patient, cela prend quelques minutes pour moi. Ça devrait finir. Quelle est votre version exacte d'Imagemagick? Si IM 6, alors utilisez convert à la place de magick. Si IM 7 alors vous devez utiliser magick comme vous l'avez écrit. Vous devrez peut-être changer le nom de vos images si elles ne correspondent pas à ce que vous avez écrit et à ce qui a été téléchargé pour moi. – fmw42

+0

Je suis tellement désolé pour le mauvais fichier de test en raison de leur redimensionner avant de télécharger sur google device.Now je télécharge à nouveau. – CoXier