Τα κινούμενα GIF έχουν γίνει δημοφιλής τα τελευταία χρόνια και η δημοτικότητά τους αυξάνεται κάθε μέρα. Δεν συμφωνώ; Σκεφτείτε για αυτό: πάνω από ένα επιβλητικό 23 εκατομμύριο GIFs δημοσιεύονται στο Tumblr κάθε μέρα. Τόσο σαφώς υπάρχει ένα κοινό για αυτή τη μορφή εικόνας.

Αυτό σας παρακινεί να δημιουργήσετε GIF; Αν ναι, θα χαρούμε να γνωρίζουμε ότι υπάρχουν διάφοροι συντάκτες GIF με GUI που λειτουργούν σε διαφορετικές πλατφόρμες λειτουργικών συστημάτων. Ωστόσο, εάν βρίσκεστε στο Linux και ψάχνετε για ένα εργαλείο γραμμής εντολών για αυτή τη δουλειά, μην κοιτάξετε ξανά καθώς θα συζητήσουμε το Gifsicle - ένα εργαλείο που σας επιτρέπει να παίζετε εύκολα με animated GIFs.

Σημείωση : Η έκδοση 1.78 του Gifsicle χρησιμοποιήθηκε για όλα τα παραδείγματα που αναφέρονται σε αυτό το άρθρο.

Gifsicle

Το Gifsicle είναι ένα εργαλείο γραμμής εντολών για τη δημιουργία, την επεξεργασία και τη λήψη πληροφοριών σχετικά με εικόνες και κινούμενα σχέδια GIF. Σύμφωνα με την επίσημη ιστοσελίδα του εργαλείου, το Gifsicle προσφέρει πολλά χαρακτηριστικά, όπως βελτιστοποίηση εικόνας, καθώς και έλεγχο των αλληλοσυνδέσεων, των σχολίων, των βρόχων και της διαφάνειας. Δημιουργεί καλά συμπεριφερόμενα GIF: αφαιρεί περιττά χρώματα, χρησιμοποιεί μόνο τοπικούς πίνακες χρωμάτων εάν έχει απολύτως ανάγκη (τοπικοί πίνακες χρωμάτων να σπαταλούν χώρο και να προκαλούν αντικείμενα προβολής) κ.λπ. "

Λήψη και εγκατάσταση

Στο Ubuntu (καθώς και σε άλλα συστήματα που βασίζονται στο Debian), μπορείτε εύκολα να κατεβάσετε και να εγκαταστήσετε το εργαλείο Gifsicle χρησιμοποιώντας την ακόλουθη εντολή:

 sudo apt-get να εγκαταστήσετε το gifsicle 

Εναλλακτικά, μπορείτε επίσης να το χτίσετε από το μηδέν χρησιμοποιώντας τον πηγαίο κώδικα του ή να χρησιμοποιήσετε ένα προ-κατασκευασμένο δυαδικό αρχείο - και τα δύο είναι διαθέσιμα για λήψη από την επίσημη ιστοσελίδα του εργαλείου.

Δημιουργία κινούμενου GIF με Gifsicle

Ας υποθέσουμε ότι έχετε μια δέσμη αρχείων jpg και θέλετε να δημιουργήσετε ένα κινούμενο αρχείο gif από αυτά. Δείτε πώς μπορείτε να το κάνετε:

Δεδομένου ότι η εντολή gifsicle λειτουργεί μόνο σε αρχεία gif, θα πρέπει πρώτα να μετατρέψετε όλα τα αρχεία .jpg σε μορφή .gif χρησιμοποιώντας την εντολή convert :

 μετατροπή [input-file-name] .jpg [output-file-name] .gif 

Εάν ο αριθμός των αρχείων jpg είναι μεγάλος, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή για να μετατρέψετε όλα αυτά:

 μετατρέψτε '* .jpg [widht, για παράδειγμα: 300x]' μέγεθος% 03d.gif 

Μόλις ολοκληρωθεί η μετατροπή από jpg σε gif, η γενική εντολή για να συνδυάσετε μεμονωμένες gifs σε ένα τελικό κινούμενο έχει ως εξής:

 gifsicle [ταχύτητα κινούμενης εικόνας] [αριθμός φορών σε βρόχο] [jpgs εισόδου]> output.gif 

Στην παραπάνω εντολή η "ταχύτητα της κινούμενης εικόνας" μπορεί να ρυθμιστεί χρησιμοποιώντας τη σημαία --delay, ενώ ο "αριθμός φορές στο βρόχο" μπορεί να ρυθμιστεί χρησιμοποιώντας τη σημαία --loopcount .

Για παράδειγμα, είχα την ακόλουθη ομάδα εικόνων jpg.

Η παρακάτω είναι η εντολή που χρησιμοποίησα για την παραγωγή ενός κινούμενου gif από τις παραπάνω εικόνες:

 gifsicle --delay = 80 --όλος = για πάντα * .gif> out.gif 

Και εδώ είναι το out.gif.

Σημειώστε ότι η τιμή του --delay αντιπροσωπεύει την καθυστέρηση μεταξύ των πλαισίων σε εκατοστά του δευτερολέπτου. Επίσης, χρησιμοποίησα "για πάντα" ως αξία για τη σημαία -. Αυτό γίνεται για να βεβαιωθείτε ότι η κινούμενη εικόνα δεν σταματά. Μπορείτε να χρησιμοποιήσετε οποιαδήποτε τιμή ακέραιου αριθμού, εάν θέλετε να περιοριστεί η κινούμενη εικόνα σε αυτόν τον αριθμό μετρήσεων.

Εξαγωγή επιμέρους πλαισίων

Το Gifsicle σας επιτρέπει επίσης να εξαγάγετε εύκολα ξεχωριστά πλαίσια από ένα κινούμενο GIF. Ακολουθεί ένα παράδειγμα του πώς το έκανα:

 gifsicle out.gif '# 0'> first-frame.gif 

Η παραπάνω εντολή εξήγαγε το πρώτο πλαίσιο από το animated out.gif. Συνέχισα να αλλάζω την τιμή ακέραιας ακολουθώντας το "#" και το όνομα του αρχείου εξόδου και ήταν σε θέση να εξάγει όλα τα πλαίσια από το out.gif.

Αν ο αριθμός των καρέ στην κινούμενη GIF είναι αρκετά υψηλός και θέλετε να τα εξαγάγετε, τότε - κατά τρόπο εύληπτο - δεν θα είναι πρακτικό να εκτελέσετε την παραπάνω εντολή ξανά και ξανά χειροκίνητα. Σε αυτή την περίπτωση μπορείτε να εκτελέσετε την εντολή σε βρόχο από ένα σενάριο κελύφους.

Ένα άλλο πράγμα που αξίζει να αναφερθεί εδώ είναι ότι μπορείτε επίσης να χρησιμοποιήσετε αρνητικές τιμές με "#". Οι αρνητικές τιμές αναφέρονται σε πλαίσια από το τέλος. Για παράδειγμα, το "# -1" θα σας φέρει το τελευταίο καρέ.

Επεξεργασία κινούμενων GIF

Με το Gifsicle μπορείτε επίσης να επεξεργαστείτε εύκολα κινούμενα GIF. Για παράδειγμα, η ακόλουθη εντολή δημιουργεί ένα νέο "out.gif" που δεν είναι παρά το παλιό "out.gif" με το πρώτο του πλαίσιο αντικαταστάθηκε με τη συγχώνευση των "a.gif" και "b.gif":

 gifsicle --delay = 80 --loopcount = για πάντα -b out.gif --επιστροφή '# 0' a.gif b.gif 

Ομοίως, μπορείτε να χρησιμοποιήσετε τη σημαία --delete για να διαγράψετε πλαίσια. Για παράδειγμα, η ακόλουθη εντολή διαγράφει το πρώτο πλαίσιο του "out.gif" με αποτέλεσμα το gif να είναι "out-new.gif":

 gifsicle out.gif - διαγραφή '# 0'> out-new.gif 

Όχι μόνο μπορείτε να διαγράψετε και να αντικαταστήσετε, αλλά μπορείτε επίσης να προσθέσετε νέα πλαίσια σε ένα κινούμενο GIF. Για παράδειγμα, το --append επιτρέπει να προσθέτετε καρέ προς το τέλος ενός κινούμενου gif. Ακολουθεί ένα παράδειγμα:

 gifsicle out-new.gif --append a.gif> out-new-appended.gif 

Η παραπάνω εντολή θα προσθέσει το πλαίσιο "a.gif" στο κινούμενο "out-new.gif" και θα παράγει το κινούμενο "out-new-appended.gif" ως έξοδο.

Μπορείτε επίσης να χρησιμοποιήσετε τη --insert-before για να προσθέσετε ένα πλαίσιο (ή πολλαπλά πλαίσια) οπουδήποτε σε ένα υπάρχον animated gif.

Μετασχηματισμός εικόνας

Το Gifsicle προσφέρει επίσης κάποιες επιλογές μετασχηματισμού εικόνας. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε το εργαλείο για να αλλάξετε το μέγεθος των εικόνων gif. Μπορείτε να χρησιμοποιήσετε τη --resize [width]x[height] για να αλλάξετε το μέγεθος της εικόνας gif σε ένα συγκεκριμένο πλάτος και ύψος. Από τη σελίδα "man" της εντολής: " Είτε το πλάτος είτε το ύψος μπορεί να είναι μια υπογράμμιση '_'. Εάν το όρισμα είναι widthx_, τότε το GIF εξόδου κλιμακώνεται σε εύρος pixel πλάτος χωρίς να αλλάζει ο λόγος διαστάσεων του. "

Δείτε πώς πραγματοποίησα μια λειτουργία αλλαγής μεγέθους στο "out.gif":

 gifsicle out.gif --αναπτύξτε 150x_> out-resize.gif 

Η παραπάνω εντολή δημιούργησε ένα αρχείο με το όνομα "out-resize.gif" το οποίο δεν ήταν παρά ένα μέγεθος "out.gif" με μέγεθος πλάτους 150px.

συμπέρασμα

Το Gifsicle μπορεί να μην είναι ένα πολύ δημοφιλές εργαλείο δημιουργίας / επεξεργασίας GIF, αλλά είναι σίγουρα πολύ χρήσιμο. Και επιτρέψτε μου να καταστήσω σαφές ότι ό, τι συζητήσαμε εδώ είναι μόνο μια άκρη του παγόβουνου, καθώς το εργαλείο προσφέρει μια πληθώρα χαρακτηριστικών / επιλογών. Θέλω να δοκιμάσω - μάθετε περισσότερα γι 'αυτό εδώ.