1. Προϊόντα
  2.   Aspose.PSD
  3.   Aspose.PSD FOSS for .NET

Aspose.PSD FOSS για .NET

Ανοιχτού κώδικα .NET βιβλιοθήκη για τη φόρτωση, την επιθεώρηση και την αποθήκευση αρχείων PSD/PSB με πρόσβαση σε μεταδεδομένα στρώσεων. Άδεια MIT, δεν απαιτείται Adobe Photoshop.

Ανοιχτού Κώδικα .NET Βιβλιοθήκη για αρχεία PSD/PSB

Aspose.PSD FOSS for .NET είναι μια δωρεάν, αδειοδοτημένη με MIT, καθαρή βιβλιοθήκη C# για τη φόρτωση, επιθεώρηση, και αποθήκευση αρχείων Adobe Photoshop PSD και PSB χωρίς να απαιτείται το Adobe Photoshop ή οποιοδήποτε ιδιόκτητο runtime. Εκθέτει μια ελαφριά, αυτόνομη API εστιασμένη στο PsdImage και Layer, παρέχοντας στους .NET προγραμματιστές προγραμματιστική πρόσβαση στη δομή ενός εγγράφου PSD χωρίς εγγενείς εξαρτήσεις για μεταγλώττιση. Η βιβλιοθήκη διαβάζει τις διαστάσεις, τη λειτουργία χρώματος, το βάθος bit και τη μέθοδο συμπίεσης ενός αρχείου PSD/PSB, και εκθέτει κάθε στρώμα μέσω PsdImage.Layers: κάθε Layer αναφέρει το όνομά του, τα όρια, την αδιαφάνεια, την ορατότητα και το κλειδί λειτουργίας ανάμειξης (BlendMode), μαζί με πληροφορίες χαμηλότερου επιπέδου για τα κανάλια (ChannelInformation) και δεδομένα μάσκας (LayerMaskData). Ένα υποσύνολο των μεταδεδομένων στρώματος — όνομα, όρια (Left/Top/Right/Bottom), και λειτουργία ανάμειξης — μπορεί να τροποποιηθεί επί τόπου και να αποθηκευτεί ξανά στο δίσκο με PsdImage.Save()· όλα τα υπόλοιπα στην επιφάνεια είναι μόνο για ανάγνωση κατά το σχεδιασμό σε αυτήν την έκδοση FOSS. Aspose.PSD FOSS for .NET είναι αδειοδοτημένο με MIT. Εγκαταστήστε το με dotnet add package Aspose.PSD.FOSS — η βιβλιοθήκη δεν έχει εξαρτήσεις τρίτων εγγενών, μόνο το .NET BCL. Για την οικογένεια προϊόντων επιχειρήσεων, δείτε Aspose.PSD — Enterprise Product Family.

Φόρτωση και Επιθεώρηση Αρχείων PSD/PSB

  • Image.Load(filePath) ή Image.Load(stream) ανοίγει ένα αρχείο και επιστρέφει ένα Image, μετατρεπόμενο σε PsdImage για πρόσβαση ειδική για PSD
  • PsdImage.Width, Height και Size αναφέρουν τις διαστάσεις του καμβά
  • PsdImage.ColorMode (ColorModes), BitsPerChannel και Compression (CompressionMethod) περιγράφουν πώς κωδικοποιούνται τα δεδομένα των εικονοστοιχείων
  • PsdImage.Version (PsdVersion) διακρίνει το τυπικό PSD από την παραλλαγή μεγάλου εγγράφου PSB

Επικύρωση και Καταγραφή Αρχείων Σχεδίασης

  • Επαληθεύστε μια παρτίδα αρχείων σχεδίασης πριν τα παραδώσετε σε μια επόμενη διαδικασία
  • Δημιουργήστε έναν ελαφρύ κατάλογο πόρων με διαστάσεις και χρωματικούς τρόπους των PSD/PSB
  • Εντοπίστε αρχεία PSB (μεγάλου εγγράφου) που απαιτούν διαφορετική διαχείριση από το τυπικό PSD

Δουλέψτε με Στρώματα

  • PsdImage.Layers επιστρέφει κάθε Layer με τη σειρά του εγγράφου· PsdImage.ActiveLayer αναφέρει ποιο είναι ενεργό
  • Κάθε Layer εκθέτει τα Name, Bounds, Opacity, IsVisible και το BlendModeKey (BlendMode)
  • Τα Layer.ChannelInformation και Layer.LayerMaskData εκθέτουν μεταδεδομένα καναλιού και μάσκας για πιο βαθιά επιθεώρηση
  • Το Layer.ChannelsCount αναφέρει πόσα κανάλια εικόνας φέρει ένα layer

Δομή Στρώματος Ελέγχου

  • Ελέγξτε τη δομή των στρωμάτων ενός PSD χωρίς να ανοίξετε το Photoshop
  • Δημιουργήστε μια αναφορά με τα ονόματα των στρωμάτων, την ορατότητα και τις λειτουργίες ανάμειξης για ανασκόπηση σχεδίου
  • Εντοπίστε κρυφά ή στρώματα μηδενικής αδιαφάνειας που απομένουν από προηγούμενες επεξεργασίες

Επεξεργασία Βασικών Μεταδεδομένων Στρώματος

  • Layer.Name, Layer.Left/Top/Right/Bottom και Layer.BlendModeKey μπορούν να οριστούν απευθείας
  • PsdImage.Save(filePath) ή PsdImage.Save(stream) αποθηκεύει το τροποποιημένο έγγραφο πίσω στο δίσκο
  • Η επαναφόρτωση ενός αποθηκευμένου αρχείου με Image.Load επιβεβαιώνει ότι οι επεμβάσεις ολοκληρώνονται σωστά
  • Ιδιότητες που δεν αναγράφονται παραπάνω (πληροφορίες καναλιού, δεδομένα μάσκας, περιοχές ανάμειξης, πόροι εικόνας) προκαλούν NotSupportedException εάν οριστούν — αυτή η έκδοση υποστηρίζει μόνο επεξεργασίες μεταδεδομένων, όχι πλήρη επανασυγγραφή

Ελαφριές, Επεξεργασίες με δυνατότητα script

  • Μετονομάστε τα στρώματα προγραμματιστικά ως μέρος μιας αυτοματοποιημένης διαδικασίας οργάνωσης αρχείων
  • Μετακινήστε ή αλλάξτε το μέγεθος του πλαισίου οριοθέτησης ενός στρώματος χωρίς εργαλείο σχεδίασης
  • Ενημερώστε μαζικά τις λειτουργίες ανάμειξης σε πολλά αρχεία για συνέπεια

Επιθεώρηση Μπλοκ Πόρων και Κατάσταση Εγγράφου

  • PsdImage.ImageResources και GlobalLayerResources εκθέτουν τις συλλογές ResourceBlock/LayerResource
  • PsdImage.GlobalLayerMaskInfo αναφέρει πληροφορίες μάσκας στρώματος σε επίπεδο εγγράφου
  • PsdImage.IsFlatten και HasTransparencyData αναφέρουν σημαίες σε επίπεδο εγγράφου
  • PsdLoadException και PsdSaveException εμφανίζουν σφάλματα φόρτωσης/αποθήκευσης με σαφή μηνύματα

Διάγνωση και Επιθεώρηση

  • Διαγνώστε γιατί ένα συγκεκριμένο αρχείο PSD αποτυγχάνει να φορτωθεί, με μια συγκεκριμένη εξαίρεση αντί για γενικό σφάλμα
  • Ελέγξτε εάν ένα αρχείο αποθηκεύτηκε σε επίπεδη μορφή πριν από περαιτέρω επεξεργασία
  • Εξετάστε τα ενσωματωμένα μπλοκ πόρων για μεταδεδομένα επιπέδου μορφής

Φορτώστε ένα αρχείο PSD και επιθεωρήστε τις στρώσεις του

Φορτώστε ένα αρχείο με Image.Load και μετατρέψτε το αποτέλεσμα σε PsdImage για μέλη που αφορούν ειδικά το PSD.

using var image = (PsdImage)Image.Load("test.psd");
Console.WriteLine($"Width: {image.Width}, Channels: {image.ChannelsCount}, Layers: {image.Layers.Length}");
Layer layer = image.Layers[0];
Console.WriteLine($"Bounds: {layer.Bounds}, BlendMode: {layer.BlendModeKey}, Opacity: {layer.Opacity}, Visible: {layer.IsVisible}");

Επεξεργασία Μεταδεδομένων Στρώματος και Αποθήκευση

Το όνομα του στρώματος, τα όρια και η λειτουργία ανάμειξης μπορούν να αλλάξουν επί τόπου και να αποθηκευτούν ξανά στο δίσκο.

using (var image = (PsdImage)Image.Load("test.psd"))
{
    image.Layers[0].Name = "Renamed layer";
    image.Layers[0].Left = 10;
    image.Layers[0].Top = 20;
    image.Layers[0].Right = 40;
    image.Layers[0].Bottom = 60;
    image.Layers[0].BlendModeKey = BlendMode.Multiply;
    image.Save("edited.psd");
}

using var reloaded = (PsdImage)Image.Load("edited.psd");
Console.WriteLine($"Name: {reloaded.Layers[0].Name}, BlendMode: {reloaded.Layers[0].BlendModeKey}");

Ανάγνωση Πληροφοριών Καναλιού (Μόνο για Ανάγνωση)

Οι πληροφορίες καναλιού μπορούν να διαβαστούν αλλά δεν μπορούν να επανατοποθετηθούν — η προσπάθεια ορισμού τους προκαλεί NotSupportedException.

using var image = (PsdImage)Image.Load("test.psd");
Layer layer = image.Layers[0];
ChannelInformation[] channelInformation = layer.ChannelInformation;
Console.WriteLine($"Channel count: {layer.ChannelsCount}, First channel length: `NotSupportedException`");
// layer.ChannelInformation = channelInformation; // throws NotSupportedException

Συχνές Ερωτήσεις

Ποιο είναι το μοντέλο αδειοδότησης;

Aspose.PSD FOSS for .NET είναι αδειοδοτημένο υπό την άδεια MIT. Μπορείτε να το χρησιμοποιήσετε, να το τροποποιήσετε και να το αναδιανείμετε σύμφωνα με τους όρους της άδειας MIT, συμπεριλαμβανομένων των εμπορικών προϊόντων.

Πώς εγκαθιστώ το Aspose.PSD FOSS for .NET;

Δείτε την ενότητα εγκατάστασης παραπάνω για την τρέχουσα εντολή εγκατάστασης.

Ποιες μορφές μπορεί το Aspose.PSD FOSS for .NET να διαβάσει και να γράψει;

Φορτώνει και αποθηκεύει αρχεία PSD και PSB (Photoshop large document). Δεν αποδίδει ή εξάγει δεδομένα εικονοστοιχείων σε άλλες ραστερ μορφές όπως PNG ή JPEG.

Ποια είναι η κύρια κλάση σημείου εισόδου;

PsdImage (μια υποκλάση του Image). Φορτώστε ένα έγγραφο με PsdImage.Load, στη συνέχεια διαβάστε τη συλλογή Layers και τις ιδιότητες κεφαλίδας.

Μπορώ να τροποποιήσω τα μεταδεδομένα του στρώματος;

Ναι — Layer εκθέτει έναν λειτουργικό setter για αρκετές ιδιότητες, όπως την ορατότητα και το όνομα, και το ίδιο το PsdImage.Layers έχει έναν λειτουργικό setter για την αντικατάσταση της συλλογής. Μερικές συγκεκριμένες ιδιότητες (πληροφορίες καναλιού, δεδομένα μάσκας, περιοχές ανάμειξης και ορισμένοι πόροι επιπέδου-εγγράφου) είναι μόνο για ανάγνωση σε αυτή τη FOSS έκδοση και πετούν NotSupportedException αν οριστούν.

  

Υποστήριξη και Πόροι Μάθησης

 Ελληνικά