Τι είναι ένα αρχείο PSD;
Το PSD, το Photoshop Document, αντιπροσωπεύει την εγγενή μορφή αρχείου του Adobe Photoshop που χρησιμοποιείται για το σχεδιασμό και την ανάπτυξη γραφικών. Τα αρχεία PSD μπορεί να περιλαμβάνουν επίπεδα εικόνας, επίπεδα προσαρμογής, μάσκες επιπέδων, σχολιασμούς, πληροφορίες αρχείων, λέξεις-κλειδιά και άλλα στοιχεία ειδικά για το Photoshop. Τα αρχεία Photoshop έχουν προεπιλεγμένη επέκταση ως .PSD και έχουν μέγιστο ύψος και πλάτος 30.000 pixel και όριο μήκους δύο gigabyte.
Προδιαγραφές μορφής αρχείου PSD
Τα δεδομένα σε ένα αρχείο PSD αποθηκεύονται με μεγάλη σειρά endian byte. Αυτό συνεπάγεται την εναλλαγή των σύντομων και μεγάλων ακεραίων κατά την ανάγνωση ή την εγγραφή στην πλατφόρμα των Windows. Η μορφή αρχείου Photoshop χωρίζεται σε πέντε κύρια μέρη. Διαθέτει πολλούς δείκτες μήκους που μπορούν να χρησιμοποιηθούν για να μετακινηθείτε από το ένα τμήμα στο άλλο. Οι δείκτες μήκους είναι συνήθως γεμάτοι με byte για στρογγυλοποίηση στο πλησιέστερο διάστημα 2 ή 4 byte. Τα πέντε κύρια μέρη είναι:
- Κεφαλίδα αρχείου
- Δεδομένα Color Mode
- Πόροι εικόνας
- Πληροφορίες επιπέδου και μάσκας
- Δεδομένα εικόνας
Για συμμόρφωση, τα δεδομένα θα πρέπει να εγγραφούν σε όλα αυτά τα πεδία της ενότητας, καθώς το Photoshop μπορεί να προσπαθήσει να διαβάσει ολόκληρη την ενότητα. Υπονοεί επίσης ότι τα μηδενικά εγγράφονται σε πεδία που παραλείφθηκαν κατά την εγγραφή σε ένα αρχείο. Το πεδίο μήκους στις οριοθετημένες κατά μήκος ενότητες θα πρέπει να χρησιμοποιείται για να αποφασίσετε πότε θα σταματήσετε την ανάγνωση. Στις περισσότερες περιπτώσεις, το πεδίο μήκους υποδεικνύει τον αριθμό των byte και όχι των εγγραφών που ακολουθούν. Τα ακόλουθα σημεία πρέπει να θυμάστε κατά την ανάγνωση ενός αρχείου.
- Οι τιμές στη στήλη “Μήκος” σε όλους τους πίνακες είναι σε byte.
- Όλες οι τιμές που ορίζονται ως συμβολοσειρά Unicode αποτελούνται από:
- Ένα πεδίο μήκους 4 byte, που αντιπροσωπεύει τον αριθμό των χαρακτήρων στη συμβολοσειρά (όχι byte).
- Η συμβολοσειρά των τιμών Unicode, δύο byte ανά χαρακτήρα.
Κεφαλίδα αρχείου
Η κεφαλίδα του αρχείου περιέχει τις βασικές ιδιότητες της εικόνας.
Μήκος | Περιγραφή |
---|---|
4 | Υπογραφή: πάντα ίση με ‘8BPS’ . Μην προσπαθήσετε να διαβάσετε το αρχείο εάν η υπογραφή δεν ταιριάζει με αυτήν την τιμή. |
2 | Έκδοση: πάντα ίση με 1. Μην προσπαθήσετε να διαβάσετε το αρχείο εάν η έκδοση δεν ταιριάζει με αυτήν την τιμή. (~~PSB~~ η έκδοση είναι 2.) |
6 | Δέσμευση: πρέπει να είναι μηδέν. |
2 | Ο αριθμός των καναλιών στην εικόνα, συμπεριλαμβανομένων τυχόν καναλιών άλφα. Το υποστηριζόμενο εύρος είναι από 1 έως 56. |
4 | Το ύψος της εικόνας σε pixel. Το υποστηριζόμενο εύρος είναι από 1 έως 30.000. |
4 | Το πλάτος της εικόνας σε pixel. Το υποστηριζόμενο εύρος είναι από 1 έως 30.000. |
2 | Βάθος: ο αριθμός των bit ανά κανάλι. Οι υποστηριζόμενες τιμές είναι 1, 8, 16 και 32. |
2 | Η λειτουργία χρώματος του αρχείου. Οι υποστηριζόμενες τιμές είναι: Bitmap # 0; Κλίμακα του γκρι # 1; Ευρετήριο # 2; RGB # 3; CMYK # 4; Πολυκαναλικό # 7; Duotone # 8; Εργαστήριο #9. |
Ενότητα δεδομένων λειτουργίας χρώματος
Η ενότητα δεδομένων λειτουργίας χρώματος είναι δομημένη ως εξής:
Μήκος | Περιγραφή |
---|---|
4 | Το μήκος των παρακάτω δεδομένων χρώματος |
μεταβλητή | Τα δεδομένα χρώματος |
Τα δεδομένα της λειτουργίας χρώματος είναι διαθέσιμα μόνο για χρώμα και διχρωμία με ευρετήριο, όπως ορίζονται από το πεδίο λειτουργίας στην ενότητα Κεφαλίδα αρχείου. Για όλες τις άλλες λειτουργίες, αυτή η ενότητα αντιπροσωπεύεται από μηδενισμένες τιμές 4 byte. Για τις έγχρωμες εικόνες με ευρετήριο, το μήκος είναι 768 και τα δεδομένα χρώματος περιέχουν τον πίνακα χρωμάτων για την εικόνα, με μη παρεμβαλλόμενη σειρά. Για τις εικόνες Duotone, τα δεδομένα χρώματος περιέχουν την προδιαγραφή διχρωμίας (η μορφή της οποίας δεν τεκμηριώνεται). Άλλες εφαρμογές που διαβάζουν αρχεία Photoshop μπορούν να αντιμετωπίζουν μια διπλή εικόνα ως γκρι εικόνα και απλώς να διατηρούν τα περιεχόμενα των πληροφοριών διχρωμίας κατά την ανάγνωση και τη σύνταξη του αρχείου.
Ενότητα πόρων εικόνας
Η τρίτη ενότητα του αρχείου περιέχει πόρους εικόνας. Ξεκινά με ένα πεδίο μήκους, ακολουθούμενο από μια σειρά μπλοκ πόρων.
Μήκος | Περιγραφή |
---|---|
4 | Μήκος τμήματος πόρων εικόνας. Το μήκος μπορεί να είναι μηδέν. |
Μεταβλητή | Πόροι εικόνας (Μπλοκ πόρων εικόνας) |
Οι πόροι εικόνας χρησιμοποιούνται για την αποθήκευση δεδομένων χωρίς εικονοστοιχεία που σχετίζονται με εικόνες, όπως διαδρομές εργαλείου στυλό. Αναφέρονται ως μπλοκ πόρων επειδή διατηρούν δεδομένα που ήταν αποθηκευμένα στον πόρο του Macintosh στις πρώτες εκδόσεις του Photoshop. Η βασική δομή των μπλοκ πόρων εικόνας είναι όπως φαίνεται παρακάτω:
Μήκος | Περιγραφή |
---|---|
4 | Υπογραφή: ‘8BIM’ |
2 | Μοναδικό αναγνωριστικό για τον πόρο. Τα αναγνωριστικά πόρων εικόνας περιέχουν μια λίστα αναγνωριστικών πόρων που χρησιμοποιούνται από το Photoshop. |
Μεταβλητή | Όνομα: συμβολοσειρά Pascal, με επένδυση για να κάνει το μέγεθος ίσο (ένα null όνομα αποτελείται από δύο byte του 0) |
4 | Πραγματικό μέγεθος των δεδομένων πόρων που ακολουθεί |
Μεταβλητή | Τα δεδομένα πόρων, που περιγράφονται στις ενότητες για τους επιμέρους τύπους πόρων. Έχει επένδυση για να κάνει το μέγεθος ομοιόμορφο. |
Οι πόροι εικόνας χρησιμοποιούν αρκετούς τυπικούς αριθμούς ταυτότητας.
Πληροφορίες για το επίπεδο και τη μάσκα
Η τέταρτη ενότητα ενός αρχείου Photoshop περιέχει πληροφορίες σχετικά με επίπεδα και μάσκες, όπως αριθμός επιπέδων, κανάλια στα επίπεδα, εύρη ανάμειξης, κλειδιά επιπέδου προσαρμογής, επίπεδα εφέ και παραμέτρους μάσκας. Εάν δεν υπάρχουν επίπεδα ή μάσκες, αυτή η ενότητα αντιπροσωπεύεται από μηδενισμένο πεδίο 4 byte. Χρειάζεται ιδιαίτερη προσοχή στο μήκος των ενοτήτων κατά την ανάγνωση αυτής της ενότητας λόγω των μηδενισμένων τιμών. Η διάταξη του τμήματος Layer και Mask έχει ως εξής:
Μήκος | Περιγραφή |
---|---|
4 | Μήκος της ενότητας πληροφοριών στρώματος και μάσκας. (Το μήκος PSB είναι 8 byte.) |
Μεταβλητή | Πληροφορίες επιπέδου |
Μεταβλητή | Πληροφορίες μάσκας παγκόσμιας στρώσης |
Μεταβλητή | Σειρά μπλοκ με ετικέτες που περιέχουν διάφορους τύπους δεδομένων. |
Πληροφορίες επιπέδου
Ο παρακάτω πίνακας δείχνει την οργάνωση υψηλού επιπέδου των πληροφοριών του επιπέδου.
Μήκος | Περιγραφή |
---|---|
4 | Μήκος της ενότητας πληροφοριών επιπέδων, στρογγυλοποιημένο σε πολλαπλάσιο του 2. (Το μήκος PSB είναι 8 byte.) |
2 | Αριθμός επιπέδων. Εάν είναι αρνητικός αριθμός, η απόλυτη τιμή του είναι ο αριθμός των επιπέδων και το πρώτο κανάλι άλφα περιέχει τα δεδομένα διαφάνειας για το συγχωνευμένο αποτέλεσμα. |
Μεταβλητή | Πληροφορίες για κάθε επίπεδο. Βλ. Εγγραφές επιπέδου περιγράφει τη δομή αυτών των πληροφοριών για κάθε επίπεδο. |
Μεταβλητή | Δεδομένα εικόνας καναλιού. Περιέχει μία ή περισσότερες εγγραφές δεδομένων εικόνας για κάθε επίπεδο. Τα επίπεδα είναι με την ίδια σειρά όπως στις πληροφορίες του επιπέδου |
Δεδομένα εικόνας
Τα δεδομένα εικονοστοιχείων εικόνας περιέχονται στην ενότητα Δεδομένα εικόνας του αρχείου. Η διάταξη των δεδομένων στην ενότητα Δεδομένα εικόνας είναι σε επίπεδη σειρά, δηλαδή πρώτα όλα τα κόκκινα δεδομένα, μετά όλα τα πράσινα δεδομένα κ.λπ. Κάθε επίπεδο αποθηκεύεται με σειρά σάρωσης, χωρίς byte pad. όπως φαίνεται στον παρακάτω πίνακα.
Μήκος | Περιγραφή |
---|---|
2 | Μέθοδος συμπίεσης: *0 = Ακατέργαστα δεδομένα εικόνας * 1 = συμπιεσμένα με RLE τα δεδομένα εικόνας ξεκινούν με τις μετρήσεις byte για όλες τις γραμμές σάρωσης (σειρές * κανάλια), με κάθε μέτρηση να αποθηκεύεται ως τιμή δύο byte. Ακολουθούν τα συμπιεσμένα δεδομένα RLE, με κάθε γραμμή σάρωσης να συμπιέζεται χωριστά. Η συμπίεση RLE είναι ο ίδιος αλγόριθμος συμπίεσης που χρησιμοποιείται από το Macintosh ROM ρουτίνας PackBits και το πρότυπο TIFF. *2 = ZIP χωρίς πρόβλεψη *3 = ZIP με πρόβλεψη. |
Μεταβλητή | Τα δεδομένα εικόνας. Επίπεδη σειρά = RRR GGG BBB, κ.λπ. |