PsdImage και Layer, παρέχοντας στους Python προγραμματιστές προγραμματιστική πρόσβαση στη δομή ενός εγγράφου PSD χωρίς εγγενείς εξαρτήσεις για μεταγλώττιση.PsdImage.layers: κάθε Layer αναφέρει το όνομά του, τα όρια, την αδιαφάνεια, την ορατότητα και το κλειδί λειτουργίας ανάμειξης (BlendMode), μαζί με πληροφορίες καναλιού χαμηλότερου επιπέδου (ChannelInformation) και δεδομένα μάσκας (LayerMaskData).left/top/right/bottom), και λειτουργία ανάμειξης — μπορεί να τροποποιηθεί επί τόπου και να αποθηκευτεί ξανά στο δίσκο με το PsdImage.save()· όλα τα άλλα στην επιφάνεια είναι μόνο για ανάγνωση κατά σχεδίαση σε αυτήν την έκδοση FOSS.pip install aspose-psd-foss — η βιβλιοθήκη δεν έχει καμία εξωτερική εγγενή εξάρτηση, μόνο τη στάνταρ βιβλιοθήκη Python.Image.load(file_path) ανοίγει ένα αρχείο και επιστρέφει μια παρουσία PsdImagePsdImage.width, height, και channels_count αναφέρουν τις διαστάσεις του καμβά και τον αριθμό καναλιώνPsdImage.layers επιστρέφει τη πλήρη λίστα των αντικειμένων Layer με τη σειρά του εγγράφουPsdImage.layers επιστρέφει κάθε Layer με τη σειρά του εγγράφου· κάθε Layer εκθέτει τα name, bounds, opacity, is_visible και blend_mode_keyLayer.channel_information εκθέτει μεταδεδομένα καναλιού για πιο βαθιά επιθεώρησηLayer.channels_count αναφέρει πόσα κανάλια εικόνας περιέχει ένα layerPsdImage.layers μπορεί να επανατοποθετηθεί για αφαίρεση ή αναδιάταξη των layersLayer.name, Layer.left/top/right/bottom και Layer.blend_mode_key μπορούν να οριστούν απευθείαςPsdImage.save(file_path) αποθηκεύει το τροποποιημένο έγγραφο ξανά στο δίσκοPsdImage.load επιβεβαιώνει ότι οι επεξεργασίες ολοκληρώνονται σωστάNotSupportedException εάν οριστούν — αυτή η έκδοση υποστηρίζει επεξεργασίες μόνο μεταδεδομένων, όχι πλήρη επανασύνθεσηLayer.channel_information εκθέτει συλλογές μεταδεδομένων ανά κανάλιLayer.has_mask_data και has_blending_ranges_data αναφέρουν εάν υπάρχουν προαιρετικές ενότητεςPsdLoadException και PsdSaveException εμφανίζουν σφάλματα φόρτωσης/αποθήκευσης με σαφή μηνύματαΦορτώστε ένα αρχείο με Image.load για να αποκτήσετε μια παρουσία PsdImage για τα μέλη που είναι ειδικά για PSD.
from aspose_psd_foss.image import Image
with Image.load("test.psd") as image:
print(f"Width: {image.width}, Channels: {image.channels_count}, Layers: {len(image.layers)}")
Τα όρια του στρώματος και η λειτουργία ανάμειξης μπορούν να αλλάξουν στη θέση τους και να αποθηκευτούν ξανά στον δίσκο.
from aspose_psd_foss.psdimage import PsdImage
from aspose_psd_foss.layers.blendmode import BlendMode
with PsdImage.load("test.psd") as image:
image.layers[0].left = 10
image.layers[0].top = 20
image.layers[0].right = 40
image.layers[0].bottom = 60
image.layers[0].blend_mode_key = BlendMode.MULTIPLY
image.save("edited.psd")
with PsdImage.load("edited.psd") as reloaded:
print(f"Bounds: {reloaded.layers[0].bounds}, BlendMode: {reloaded.layers[0].blend_mode_key}")
Οι πληροφορίες καναλιού μπορούν να διαβαστούν αλλά δεν μπορούν να επανατοποθετηθούν — η προσπάθεια να τις ορίσετε προκαλεί NotSupportedException.
from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("test.psd") as image:
layer = image.layers[0]
channel_information = layer.channel_information
print(f"Channel count: {layer.channels_count}, first channel: `NotSupportedException`")
# layer.channel_information = channel_information # raises NotSupportedException
Aspose.PSD FOSS for Python είναι αδειοδοτημένο υπό την άδεια MIT. Μπορείτε να το χρησιμοποιήσετε, να το τροποποιήσετε και να το αναδιανείμετε σύμφωνα με τους όρους της άδειας MIT, συμπεριλαμβανομένων των εμπορικών προϊόντων.
Δείτε την ενότητα εγκατάστασης παραπάνω για την τρέχουσα εντολή εγκατάστασης.
Φορτώνει και αποθηκεύει αρχεία PSD και PSB (Photoshop large document). Δεν αποδίδει ή εξάγει δεδομένα εικονοστοιχείων σε άλλες ραστερ μορφές όπως PNG ή JPEG.
PsdImage (μια υποκλάση του Image). Φορτώστε ένα έγγραφο με PsdImage.load, στη συνέχεια διαβάστε τη συλλογή layers και τις ιδιότητες κεφαλίδας.
Ναι — Layer εκθέτει έναν λειτουργικό setter για πολλές ιδιότητες, όπως την ορατότητα και το όνομα, και το PsdImage.layers ίδιο έχει έναν λειτουργικό setter για την αντικατάσταση της συλλογής. Μερικές συγκεκριμένες ιδιότητες (πληροφορίες καναλιού, δεδομένα μάσκας, περιοχές ανάμειξης και ορισμένοι πόροι σε επίπεδο εγγράφου) είναι μόνο για ανάγνωση σε αυτήν την έκδοση FOSS και προκαλούν NotSupportedException εάν οριστούν.