Πυρήνας API

Πυρήνας API

PsdImage είναι το σημείο εισόδου για τη φόρτωση, την επιθεώρηση και την αποθήκευση των εγγράφων PSD/PSB. Επεκτείνει την αφηρημένη βάση κλάση Image, η οποία δηλώνει μόνο το load() — το υπόλοιπο της επιφάνειας του εγγράφου (width, height, save(), υποστήριξη διαχειριστή περιβάλλοντος) ορίζεται στο ίδιο το PsdImage, όχι κληρονομημένο.


Φόρτωση και Αποθήκευση Εγγράφων

Image.load() δέχεται ένα μονοπάτι αρχείου ή μια ροή και επιστρέφει ένα Image; για είσοδο PSD/PSB αυτό είναι πάντα ένα PsdImage, έτσι η επιφάνεια του εγγράφου είναι άμεσα διαθέσιμη χωρίς ρητή μετατροπή. PsdImage υποστηρίζει επίσης τη δήλωση with για αυτόματη εκκαθάριση, και PsdImage.save() γράφει το έγγραφο ξανά σε μονοπάτι αρχείου ή ροή.

from aspose_psd_foss.psdimage import PsdImage

with PsdImage.load(input_path) as image:
    # ... inspect or edit ...
    image.save(output_path)

Ιδιότητες Κεφαλίδας Εγγράφου

PsdImage εκθέτει την αναλυμένη κεφαλίδα ως ιδιότητες με τύπους: width, height, bits_per_channel, color_mode, version, compression, size και is_flatten.

print(f"Width: {image.width}, Height: {image.height}")
print(f"ColorMode: {image.color_mode}, Version: {image.version}")
print(f"Compression: {image.compression}, IsFlatten: {image.is_flatten}")

Πόροι Εικόνας

PsdImage.image_resources επιστρέφει τη διασυνταγμένη λίστα των αντικειμένων ResourceBlock. Σε αυτήν την έκδοση FOSS, τα image_resources, global_layer_resources, active_layer και has_transparency_data μπορούν να διαβαστούν αλλά δεν μπορούν να επαναπροσαρμοστούν — οι setters τους προκαλούν NotSupportedException.

for resource in image.image_resources:
    print(f"Resource {resource.id}: {resource.name} ({resource.data_size} bytes)")

Συμβουλές και Καλές Πρακτικές

  • Image.load() επιστρέφει ήδη ένα PsdImage για είσοδο PSD/PSB — δεν χρειάζεται μετατροπή, σε αντίθεση με ορισμένες άλλες γλωσσικές εκδόσεις αυτής της βιβλιοθήκης.
  • Χρησιμοποιήστε τη δήλωση with; το PsdImage υποστηρίζει το πρωτόκολλο διαχειριστή περιβάλλοντος για καθαρισμό.
  • Αντιμετωπίστε τα image_resources, global_layer_resources, active_layer και has_transparency_data ως μόνο για ανάγνωση, ακόμη και αν εκθέτουν έναν setter.
  • Ελέγξτε το image.layer_count πριν κάνετε πρόσβαση στο image.layers — ένα επίπεδο (flattened) έγγραφο μπορεί να έχει μηδενικά στρώματα.

Συνηθισμένα Προβλήματα

ΠρόβλημαΑιτίαΔιόρθωση
NotSupportedException κατά τη ρύθμιση image_resourcesΑυτή η ιδιότητα είναι μόνο για ανάγνωση στην έκδοση FOSS παρά το ότι διαθέτει setterΔιαβάστε την τιμή· μην προσπαθήσετε να την εκχωρήσετε ξανά
Κενή λίστα image.layers σε εξομαλυνμένο έγγραφοis_flatten είναι True και το έγγραφο δεν έχει αναλυμένα στρώματαΕλέγξτε το image.layer_count (ή το image.is_flatten) πριν την ευρετηρίαση στο image.layers

FAQ

Η φόρτωση ενός εγγράφου PSD αποκωδικοποιεί τα δεδομένα εικονοστοιχείων;

Όχι. PsdImage.load() αναλύει την κεφαλίδα του εγγράφου, τα μεταδεδομένα των στρωμάτων και τους πόρους χωρίς να αποκωδικοποιεί ή να αποδίδει τα δεδομένα εικονοστοιχείων.

Μπορώ να μετατρέψω ένα αρχείο PSD σε άλλη μορφή εικόνας;

Όχι. Αυτή η βιβλιοθήκη φορτώνει, ελέγχει και αποθηκεύει μόνο έγγραφα PSD/PSB — δεν αποδίδει δεδομένα εικονοστοιχείων ούτε μετατρέπει σε άλλες μορφές εικόνας.


API Reference Περίληψη

Κλάση/ΜέθοδοςΠεριγραφή
Image.load(path) / Image.load(stream)Φορτώνει ένα έγγραφο PSD ή PSB
PsdImage.save(path) / PsdImage.save(stream)Αποθηκεύει το έγγραφο
PsdImage.width / height / bits_per_channel / color_mode / version / compression / size / is_flattenΙδιότητες κεφαλίδας εγγράφου
PsdImage.image_resourcesΑναλυμένα μπλοκ πόρων εικόνας (μόνο για ανάγνωση)

Δείτε επίσης

 Ελληνικά