टाइल एनिमेटेड gifs


10

वहाँ कोई रास्ता नहीं है imagename / असेंबल का उपयोग करने के लिए टाइल looped एनिमेटेड gifs (गैर-समन्वित लोगों के साथ अंतःक्षिप्त)?

यही है, मैं समय में नहीं, अंतरिक्ष में एनिमेशन को बदलना चाहता हूं। मुझे एहसास है कि फ्रेम की संख्या और एनीमेशन में उनकी अवधि दो एनिमेशन को बड़े करीने से जोड़ना असंभव बना सकती है। लेकिन मैं इस कार्यक्रम के साथ ठीक हूं, जो अनुमान लगाते हैं और अनुमान लगाते हैं, और फ्रेम को दोहराते / दोहराते हैं, जब तक कि सभी फ्रेम कुछ फैशन में हैं।

मैंने कोशिश की

convert *.gif -append output.gif

तथा

montage *.gif -mode concatenate -tile x1 output.gif

लेकिन ये दोनों एनिमेटेड gifs को कई अलग-अलग गैर-एनिमेटेड वाले मानते हैं।

मुझे लगता है कि मैं संभवत: फ्रेम के अलावा एनिमेटेड लोगों को तोड़ने के लिए एक स्क्रिप्ट लिख सकता हूं, सबसे लंबे लूप से मेल खाने के लिए आवश्यक रूप से छोटे छोरों को दोहराता / विस्तारित करता हूं, गैर-संकलित gif को दोहराता हूं क्योंकि कई फ्रेम सबसे लंबे समय तक एनिमेटेड एक में होते हैं, संगत तख्ते को एक साथ सिलाई करते हैं। एकल बड़े फ़्रेमों के साथ -append, और फिर उन बड़े फ़्रेमों को एक बड़े gif में संयोजित करें। लेकिन अगर यह पहले से ही कुछ सरल कमांड द्वारा संभव है, तो मैं पहिया को सुदृढ़ नहीं करना चाहता।

मैं निश्चित रूप से इमेजमाजिक के अलावा अन्य मुफ्त विकल्पों के लिए खुला हूं।



2
मैं इसे लेने जा रहा हूँ क्योंकि यह शायद इरादा नहीं था; एक गंभीर टिप्पणी के रूप में। हां, मैं जीआईएफ को टाइल करना चाहता हूं। लेकिन स्थायी रूप से, HTML में नहीं। लिंक के लिए आपको धन्यवाद। मैं बाद में उपयोग के लिए उस विशेष जीआईएफ को बचाऊंगा।
tsbertalan

1
@tsbertalan क्या आपने अंततः इसका पता लगाया?
सेब बैरे

जवाबों:


1

ऐसा लगता है कि आप समय के माध्यम से कई एनिमेशन से मेल खाना चाहते हैं, लेकिन यह प्रत्येक फ्रेम और इसकी देरी को पढ़ने के लिए एक कार्यक्रम लेने जा रहा है, फिर देरी होने तक कुछ आवधिक आवृत्ति पर उस फ्रेम को आउटपुट करें। उदाहरण: 1 फ्रेम, 1 सेकंड की देरी, और आपकी 'फ्रीक्वेंसी' 100ms है, इसलिए आप 100ms पर 100 फ्रेम लिखेंगे? और फिर एक रेखीय असेंबल में परिवर्तित हो गया?

उस तरह के प्रसंस्करण को करने के लिए एक प्रोग्राम या मोटी स्क्रिप्ट की आवश्यकता होगी, और आपको अपनी 'फ़्रीक्वेंसी' (यहां 100 मी) को परिभाषित करना होगा।

लेकिन यह अच्छी तरह से काम करता है: (gifsicle एक पैकेज है, असेंबल इमेजमैजिक पैकेज का हिस्सा है)

gifsicle --unoptimize cool_animation.gif | \
  montage -tile x1 - linear_frames.png

(पठनीयता के लिए टूटी लाइन)

पहली पंक्ति अलग-अलग फ्रेम (आने के लिए) में आने वाले जिफ़ को तोड़ती है, लेकिन परतों से भर जाती है। प्रारंभ में, बिना --unoptimize विकल्प के, यह पहला फ्रेम देगा, लेकिन बाद के फ़्रेमों में केवल वही होता है जो हर बार बदल जाता है। अजीब असेंबल के लिए बनाया गया!

दूसरी पंक्ति रैखिक आउटपुट का निर्माण करती है, प्रत्येक फ्रेम छवि (स्टडिन से) को लेते हुए और आपके द्वारा निर्दिष्ट क्रम में उन्हें व्यवस्थित करती है। उन्हें क्षैतिज रेखा के साथ व्यवस्थित करने के लिए 'X1'।

आप एकल फ़ाइल नाम (cool_animation.gif) को कई या एक वाइल्डकार्ड * .gif से बदल सकते हैं।

मुझे यकीन नहीं है कि यह वही है जो आप के लिए देख रहे हैं।


gifsicle --colors=255 DATA.gif | gifsicle --unoptimize | montage -tile x1 - linear_frames.pngModifiedcʜιᴇ007 की परीक्षण छवि के लिए संशोधित होने पर , यह मुझे imgur.com/a/Likr9 ; बिल्कुल नहीं मैं क्या देख रहा हूँ। मुझे मूल उद्देश्य याद नहीं है; मुझे लगता है कि मैंने शायद इसे स्पष्ट रूप से तोड़ने के लिए एक स्क्रिप्ट लिखी थी।
tsbertalan 16
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.