Animasyonlu bir .gif dosyasını bileşen karelerine nasıl bölerim?


44

Animasyonlu bir .gif dosyasını nasıl kolayca bölebilirim? Her kareyi görmek istiyorum.

Her kareyi bir dizine vermemeyi gerçekten tercih ederim. Mümkünse, bunları tek bir uygulamada ayrı ayrı görüntülemek istiyorum.

Linux'ta bu mümkün mü?

Yanıtlar:


52

Onları Gimp ile açmayı deneyin; Her karede bir katman olacak şekilde animasyonlu gif açacağına inanıyorum.

Tüm çerçeveleri bir dizindeki dosyalara dökmek istemediğinizi söylüyorsunuz, ancak yine de nasıl yapacağınızı söyleyeceğim :) ImageMagick veya graphicsmagick'i yükleyin, sonra:

ImageMagick için:

convert animation.gif target.png

graphicsmagick için:

gm convert animation.gif target.png

target0.png, target1.png, ... ve benzeri öğelere çerçeveler yazacaktır. Daha sonra dizine girip çalıştırabilirsiniz eog, aynı uygulamadaki tüm kareleri gösterir. Artık karelere ihtiyaç duymadığınızda, sadece rm target*.png.


imagemagick sadece harika!
fccoelho

1
imagemagic convert benim için başarısız oldu, çünkü gif'in
Ciro Santilli 事件 改造 中心 法轮功 六四 事件

GIF'imi gimp ile açtım, ancak hala her kareyi ayrı ayrı nasıl görüntüleyeceğimi bilmiyorum - Sadece son kareyi görüyorum. Bu animasyonla çalışıyorum: /tmp/Non-Native-American-Nations-Territorial-Claims-over-NAFTA-countries-1750-2008.gif
nealmcb 21:15

3
GraphicsMagick'in gm convert some-image.gif +adjoin some-image%d.pngçalışması için formda olması gerekir. Veya, gm convert some-image.gif -coalesce +adjoin some-image%d.pngdeğişken ofsetlere sahip çeşitli büyüklükteki alt çerçeveler için.
l - marc l

1
Belirtilen , kullanıcının beklediği şey için gerekli olan seçeneği convertkaçırır -coalesce.
Marcus

41

Çeşitli çerçeveler birbirlerine bağlı saydam alanları ve yapı varsa, kullanabilirsiniz convert"ile komutu -coalesceönceki dizisini birleştiren, her biri dosyaları hedef 0.png, hedefe-1.png vb bir dizi üretmek için" seçeneği Görüntüler:

convert -coalesce animation.gif target.png

1
Harika yorum ama açıklama gerekiyor. Temelde @cirosantilli'nin, belirli ekran alanlarındaki neye benzer güncellemeler döndürdüğünü gösteren ImageMagick ile ilgili sorunu çözdü. -coalesce bu güncellemeleri size bitmiş bir görüntü oluşturmada birleştirir.
AnthonyVO

3
(ImageMagick sürüm 6.7.7'den itibaren) bir miktar bellek sızıntısı olduğu görülüyor: Uzun senaryolarla deneme yapmayın-coalesce.gif , muhtemelen tüm kullanılabilir belleği tüketir ve muhtemelen tüm sisteminizi kapatır.
leftaroundabout

4
çıktı dosyası adlarını şunun gibi bir şeyle belirleyebilirsiniz:convert -coalesce animation.gif target.%04d.png
Trevor Boyd Smith

2

Benim için, ile ImageMagick(sürüm bilgi: 6.8.9-9 Q16 x86_64 2017-07-31)

convert gif.gif gif.pdf

Her sayfanın giriş gif'inin bir karesi olmasıyla birlikte bir pdf yapar, daha sonra seçtiğiniz pdf görüntüleme uygulamasında sadece karelerin arasında gezinebilirsiniz


Bu aşırı karmaşık görünüyor ve OP'nin istediğinden farklı.
David Foerster

Her kareyi bir .pdf sayfasında bir sayfa olarak almak harika bir fikirdir, sadece bu yöntemin hatalı olabileceğini ve uygulamanın ince ayarını yapmanız gerektiğini göz önünde bulundurun .
loved.by.Jesus

2

Mpv kullanın. Masaüstünde açın. GIF içine sürükleyin. İstediğiniz / tek karenin ekran görüntüsünü s tuşuyla alın. Eğer gif hızlıysanız bile duraklatabilirsiniz. Çok hızlı bir şekilde.

===========

önce bu ayarları kullanmak isteyebilirsiniz [bir kez ayarladıktan sonra tekrar yapmak zorunda kalmazsınız] :

gedit ~/.config/mpv/mpv.conf

ve girin ve kaydedin:

--screenshot-format Seçenekler: jpg jpeg png (varsayılan: jpg)

en yüksek png kalitesi için:

--screenshot-format=png
--screenshot-png-compression=9

veya jpg istiyorsanız

--screenshot-jpeg-quality Tamsayı (0 - 100) (varsayılan: 90)

mpv --list-options Diğer detaylar için kullanın


Selam :) geri andrew.46. Gimp'i denedi ve sinirli oldu. mpv'nin yapamadığı pek bir şey yok:]
shantiq
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.