Λοιπόν!
Για τους λινουξάδες του φόρουμ, έστρωσα τον κώλο μου κάτω και έγραψα ένα σκριπτάκι που νομίζω θα εκτιμηθεί δεόντως...
Τι κάνει;
Πολύ απλά παίρνει ένα ολόκληρο directory με εικόνες (οποιουδήποτε μεγέθους, και οποιουδήποτε φορμά) και τις μετατρέπει όλες και αυτομάτως σε μορφή κατάλληλη για ποστάρισμα στο moto.gr.
Καλείται κάπως έτσι:
img_resize ./pictures ./moto-pictures
To "pictures" είναι το directory (φάκελος) που έχει όλες τις εικόνες που θέλουμε να μετατρέψουμε. Το "moto-pictures" είναι ένα (πιθανότατα άδειο) directory όπου θα μπουν οι εικόνες αφού μετατραπούν σε μορφή κατάλληλη για ποστάρισμα στο moto.gr. Οι αρχικές εικόνες μέσα στο "pictures" δεν πειράζονται.
Δίνοντας λοιπόν αυτή την εντολή όλες οι εικόνες μέσα στον φάκελο pictures μετατρέπονται αυτομάτως σε μορφή κατάλληλη για ποστάρισμα στο moto.gr και αποθηκεύονται μέσα στον φάκελο moto-pictures.
Το σκριπτάκι είναι αρκετά έξυπνο ώστε να προσπαθεί να κάνει όσο καλύτερη δουλειά γίνεται, ισορροπώντας μεταξύ μεγέθους εικόνας και ποιότητας εικόνας: Ξεκινάει, δηλαδή, από ένα ιδανικό μέγεθος (που ορίζεται προαιρετικά ως παράμετρος) και πρώτα ρίχνει σταδιακά την ποιότητα, χωρίς να πειράξει το μέγεθος. Αν δει ότι δεν τον παίρνει (ότι δηλαδή χρειάζεται να ρίξει την ποιότητα πολύ---το τι σημαίνει "πολύ" ορίζεται επίσης προαιρετικά ως παράμετρος) τότε, και μόνο τότε, αρχίζει να πειράζει το μέγεθος.
Το ιδανικό μέγεθος (αν δεν οριστεί με παράμετρο) είναι 600x400
Η ελάχιστη επιτρεπτή ποιότητα (επίσης αν δεν οριστεί με παράμετρο) είναι 70%
Αναλυτικότερα, αν το καλέσεις όπως δείχνω παραπάνω (χωρίς προαιρετικές παραμέτρους, παρά μόνο με τα δύο direcotries) λειτοπυργεί ως εξής:
- Παίρνει την πρώτη εικόνα που βρίσκεται στoν φάκελο pictures (κατά το παράδειγμα).
- Φέρνει την εικόνα σε μέγεθος 600x400 (παράμετρος), με πολύ καλή ποιότητα 82% (παράμετρος και αυτό)
- Τσεκάρει το μέγεθος του αρχείου και αν είναι μεγαλύτερο από 100ΚΒ (παράμετρος), ρίχνει την ποιότητα κατά 1% και ξαναπροσπαθεί, μέχρι το μέγεθος του αρχείου να γίνει μικρότερο από 100ΚΒ. Μέγεθος εικόνας δεν έχει πειράξει ακόμη.
- Αν η ποιότητα φτάσει κάτω από 70% (παράμετρος) και το μέγεθος του αρχείου είναι ακόμη μεγάλο, αρχίζει να ελαττώνει το μέγεθος της εικόνας (με την ποιότητα καρφωμένη πλέον στο 70%) μέχρι το μέγεθος του αρχείου να γίνει μικρότερο από 100ΚΒ
- Όταν τα καταφέρει γράφει την εικόνα στο directory moto-pictures (κατά το παράδειγμα)
- Επαναλαμβάνει για όλες τις εικόνες που βρίσκονται μέσα στον φάκελο pictures
Όλα αυτά, βέβαια, γίνονται αυτόματα χωρίς καμία παρέμβαση του χειριστή πέρα από την αρχική κλήση της εντολής.
Οι προαιρετικές παράμετροι που αναφέρω παραπάνω ορίζονται ως εξής:
QUALITY_MIN=50 img_resize ./pictures ./moto-pictures
ή
QUALITY_MIN=50 RESOLUTION=1024x768 img_resize ./pictures ./moto-pictures
κ.ο.κ.
Μπορούν να οριστούν οι ακόλουθες παράμετροι:
SIZE: Μέγιστο επιτρεπτό μέγεθος αρχείου σε bytes (default: 102400)
QUALITY: Μέγιστη ποιότητα από την οποία ξεκινάει η διαδικασία (default: 82)
QUALITY_MIN: Ελάχιστη ποιότητα, κάτω από την οποία δεν θα πέσει (default: 70)
RESOLUTION: Ιδανικό μέγεθος εικόνας το οποίο θα προσπαθήσει να επιτύχει (def: 600x400)
RESOLUTION_MIN: Ελάχιστο μέγεθος κάτω απ' το οποίο δεν θα πέσει (def: 100x100)
Αυτά:
Όποιος το θέλει (το σκριπτάκι), ας σφυρίξει κλέφτικα...
![]()