Class RasterCachedImage

RasterCachedImage class

Αντιπροσωπεύει μια εικόνα ράστερ που υποστηρίζει λειτουργίες γραφικών ράστερ. Αυτή η εικόνα αποθηκεύει προσωρινά δεδομένα pixel όταν απαιτείται.

public abstract class RasterCachedImage : RasterImage

Ιδιότητες

ΟνομαΠεριγραφή
AutoAdjustPalette { get; set; }Λαμβάνει ή ορίζει μια τιμή που υποδεικνύει εάν η παλέτα αυτόματης προσαρμογής.
virtual BackgroundColor { get; set; }Λαμβάνει ή ορίζει μια τιμή για το χρώμα φόντου.
abstract BitsPerPixel { get; }Λαμβάνει τα bit της εικόνας ανά πλήθος pixel.
Bounds { get; }Παίρνει τα όρια της εικόνας.
BufferSizeHint { get; set; }Λαμβάνει ή ορίζει την υπόδειξη μεγέθους buffer που ορίζεται ως μέγιστο επιτρεπόμενο μέγεθος για όλα τα εσωτερικά buffer.
Container { get; }Λαμβάνει τοImage δοχείο.
DataStreamContainer { get; }Λαμβάνει τη ροή δεδομένων του αντικειμένου.
Disposed { get; }Λαμβάνει μια τιμή που υποδεικνύει εάν αυτή η παρουσία έχει διατεθεί.
virtual FileFormat { get; }Λαμβάνει μια τιμή της μορφής αρχείου
virtual HasAlpha { get; }Λαμβάνει μια τιμή που υποδεικνύει εάν αυτή η παρουσία έχει άλφα.
virtual HasBackgroundColor { get; set; }Λαμβάνει ή ορίζει μια τιμή που υποδεικνύει εάν η εικόνα έχει χρώμα φόντου.
virtual HasTransparentColor { get; set; }Λαμβάνει μια τιμή που υποδεικνύει εάν η εικόνα έχει διαφανές χρώμα.
abstract Height { get; }Λαμβάνει το ύψος της εικόνας.
virtual HorizontalResolution { get; set; }Λαμβάνει ή ορίζει την οριζόντια ανάλυση, σε pixel ανά ίντσα, αυτήςRasterImage .
virtual ImageOpacity { get; }Λαμβάνει αδιαφάνεια αυτής της εικόνας.
InterruptMonitor { get; set; }Λήψη ή ρύθμιση της οθόνης διακοπής.
override IsCached { get; }Λαμβάνει μια τιμή που υποδεικνύει εάν τα δεδομένα εικόνας αποθηκεύονται προσωρινά.
IsRawDataAvailable { get; }Λαμβάνει μια τιμή που υποδεικνύει εάν είναι διαθέσιμη η φόρτωση πρωτογενών δεδομένων.
Palette { get; set; }Λαμβάνει ή ορίζει την παλέτα χρωμάτων. Η χρωματική παλέτα δεν χρησιμοποιείται όταν τα εικονοστοιχεία αναπαρίστανται απευθείας.
virtual PremultiplyComponents { get; set; }Λαμβάνει ή ορίζει μια τιμή που υποδεικνύει εάν τα στοιχεία της εικόνας πρέπει να πολλαπλασιαστούν εκ των προτέρων.
RawCustomColorConverter { get; set; }Λαμβάνει ή ορίζει τον προσαρμοσμένο μετατροπέα χρωμάτων
virtual RawDataFormat { get; }Λαμβάνει τη μορφή πρωτογενών δεδομένων.
RawDataSettings { get; }Λαμβάνει τις τρέχουσες ρυθμίσεις πρωτογενών δεδομένων. Σημείωση όταν χρησιμοποιείτε αυτές τις ρυθμίσεις, τα δεδομένα φορτώνονται χωρίς μετατροπή.
RawFallbackIndex { get; set; }Λαμβάνει ή ορίζει το εφεδρικό ευρετήριο για χρήση όταν το ευρετήριο παλέτας είναι εκτός ορίων
RawIndexedColorConverter { get; set; }Λαμβάνει ή ορίζει τον μετατροπέα χρώματος με ευρετήριο
virtual RawLineSize { get; }Λαμβάνει το ακατέργαστο μέγεθος γραμμής σε byte.
Size { get; }Λαμβάνει το μέγεθος της εικόνας.
virtual TransparentColor { get; set; }Παίρνει την εικόνα διαφανές χρώμα.
virtual UpdateXmpData { get; set; }Λαμβάνει ή ορίζει μια τιμή που υποδεικνύει εάν θα ενημερώσει τα μεταδεδομένα XMP.
virtual UseRawData { get; set; }Λαμβάνει ή ορίζει μια τιμή που υποδεικνύει εάν θα χρησιμοποιηθεί φόρτωση πρωτογενών δεδομένων όταν είναι διαθέσιμη η φόρτωση πρωτογενών δεδομένων.
virtual VerticalResolution { get; set; }Λαμβάνει ή ορίζει την κατακόρυφη ανάλυση, σε pixel ανά ίντσα, αυτήςRasterImage .
abstract Width { get; }Λαμβάνει το πλάτος της εικόνας.
virtual XmpData { get; set; }Λαμβάνει ή ορίζει τα μεταδεδομένα XMP.

Μέθοδοι

ΟνομαΠεριγραφή
override AdjustBrightness(int)Προσαρμογή φωτεινότητας για την εικόνα.
override AdjustContrast(float)Αντίθεση εικόνας
override AdjustGamma(float)Διόρθωση γάμμα εικόνας.
override AdjustGamma(float, float, float)Διόρθωση γάμμα εικόνας.
override BinarizeBradley(double)Δυαδοποίηση μιας εικόνας χρησιμοποιώντας τον προσαρμοστικό αλγόριθμο κατωφλίου του Bradley χρησιμοποιώντας το ενσωματωμένο thresholding
override BinarizeBradley(double, int)Δυαδοποίηση μιας εικόνας χρησιμοποιώντας τον προσαρμοστικό αλγόριθμο κατωφλίου του Bradley χρησιμοποιώντας το ενσωματωμένο thresholding
override BinarizeFixed(byte)Δυαδοποίηση εικόνας με προκαθορισμένο όριο
override BinarizeOtsu()Δυαδοποίηση εικόνας με thresholding Otsu
override CacheData()Αποθηκεύει προσωρινά τα δεδομένα και διασφαλίζει ότι δεν θα πραγματοποιηθεί πρόσθετη φόρτωση δεδομένων από το υποκείμενοDataStreamContainer .
CanSave(ImageOptionsBase)Καθορίζει εάν η εικόνα μπορεί να αποθηκευτεί στην καθορισμένη μορφή αρχείου που αντιπροσωπεύεται από τις περασμένες επιλογές αποθήκευσης.
override Crop(Rectangle)Περικοπή της εικόνας.
virtual Crop(int, int, int, int)Περικοπή εικόνας με μετατοπίσεις.
Dispose()Διαθέτει την τρέχουσα παρουσία.
Dither(DitheringMethod, int)Εκτελεί παραμόρφωση στην τρέχουσα εικόνα.
override Dither(DitheringMethod, int, IColorPalette)Εκτελεί παραμόρφωση στην τρέχουσα εικόνα.
virtual Filter(Rectangle, FilterOptionsBase)Φιλτράρει το καθορισμένο ορθογώνιο.
GetArgb32Pixel(int, int)Λαμβάνει μια εικόνα 32-bit ARGB pixel.
GetDefaultArgb32Pixels(Rectangle)Λαμβάνει τον προεπιλεγμένο πίνακα pixel ARGB 32-bit.
virtual GetDefaultOptions(object[])Λαμβάνει τις προεπιλεγμένες επιλογές.
GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader)Λαμβάνει τον προεπιλεγμένο πίνακα pixel χρησιμοποιώντας μερικό φορτωτή pixel.
GetDefaultRawData(Rectangle, RawDataSettings)Λαμβάνει τον προεπιλεγμένο πίνακα πρωτογενών δεδομένων.
GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings)Λαμβάνει τον προεπιλεγμένο πίνακα ακατέργαστων δεδομένων χρησιμοποιώντας μερικό φορτωτή εικονοστοιχείων.
virtual GetModifyDate(bool)Λαμβάνει την ημερομηνία και την ώρα της τελευταίας τροποποίησης της εικόνας του πόρου.
virtual GetOriginalOptions()Λαμβάνει τις επιλογές με βάση τις ρυθμίσεις του αρχικού αρχείου. Αυτό μπορεί να είναι χρήσιμο για να διατηρήσουμε το βάθος bit και άλλες παραμέτρους της αρχικής εικόνας αμετάβλητες. Για παράδειγμα, αν φορτώσουμε μια ασπρόμαυρη εικόνα PNG με 1 bit ανά pixel και στη συνέχεια αποθηκεύστε το χρησιμοποιώντας το Save Με τη μέθοδο, θα παραχθεί η εικόνα εξόδου PNG με 8 bit ανά pixel. Για να το αποφύγετε και να αποθηκεύσετε εικόνα PNG με 1 bit ανά pixel, χρησιμοποιήστε αυτήν τη μέθοδο για να λάβετε τις αντίστοιχες επιλογές αποθήκευσης και να τις μεταφέρετε στοSaveμέθοδος ως δεύτερη παράμετρος.
GetPixel(int, int)Λαμβάνει ένα εικονοστοιχείο εικόνας.
GetSkewAngle()Λαμβάνει τη γωνία κλίσης. Αυτή η μέθοδος εφαρμόζεται σε σαρωμένα έγγραφα κειμένου, για τον προσδιορισμό της γωνίας κλίσης κατά τη σάρωση.
override Grayscale()Μεταμόρφωση μιας εικόνας στην αναπαράστασή της σε κλίμακα του γκρι
LoadArgb32Pixels(Rectangle)Φορτώνει pixel ARGB 32-bit.
LoadArgb64Pixels(Rectangle)Φορτώνει pixel ARGB 64-bit.
LoadCmyk32Pixels(Rectangle)Φορτώνει pixel σε μορφή CMYK.
LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader)Φορτώνει pixel ARGB 32-bit μερικώς ανά πακέτα.
LoadPartialPixels(Rectangle, IPartialPixelLoader)Φορτώνει τα pixel μερικώς ανά πακέτα.
LoadPixels(Rectangle)Φορτώνει pixel.
LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader)Φορτώνει ακατέργαστα δεδομένα.
LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader)Φορτώνει ακατέργαστα δεδομένα.
NormalizeAngle()Κανονικοποιεί τη γωνία. Αυτή η μέθοδος εφαρμόζεται σε σαρωμένα έγγραφα κειμένου για να απαλλαγούμε από τη λοξή σάρωση. Αυτή η μέθοδος χρησιμοποιείGetSkewAngle καιRotate μέθοδοι.
virtual NormalizeAngle(bool, Color)Κανονικοποιεί τη γωνία. Αυτή η μέθοδος εφαρμόζεται σε σαρωμένα έγγραφα κειμένου για να απαλλαγούμε από τη λοξή σάρωση. Αυτή η μέθοδος χρησιμοποιείGetSkewAngle καιRotate μέθοδοι.
ReadArgb32ScanLine(int)Διαβάζει ολόκληρη τη γραμμή σάρωσης από το καθορισμένο ευρετήριο γραμμής σάρωσης.
ReadScanLine(int)Διαβάζει ολόκληρη τη γραμμή σάρωσης από το καθορισμένο ευρετήριο γραμμής σάρωσης.
ReplaceColor(Color, byte, Color)Αντικαθιστά το ένα χρώμα στο άλλο με την επιτρεπόμενη διαφορά και διατηρεί την αρχική τιμή άλφα για εξοικονόμηση ομαλών άκρων.
virtual ReplaceColor(int, byte, int)Αντικαθιστά το ένα χρώμα στο άλλο με την επιτρεπόμενη διαφορά και διατηρεί την αρχική τιμή άλφα για εξοικονόμηση ομαλών άκρων.
ReplaceNonTransparentColors(Color)Αντικαθιστά όλα τα αδιαφανή χρώματα με νέο χρώμα και διατηρεί την αρχική τιμή άλφα για εξοικονόμηση ομαλών άκρων. Σημείωση: εάν το χρησιμοποιείτε σε εικόνες χωρίς διαφάνεια, όλα τα χρώματα θα αντικατασταθούν με ένα.
virtual ReplaceNonTransparentColors(int)Αντικαθιστά όλα τα αδιαφανή χρώματα με νέο χρώμα και διατηρεί την αρχική τιμή άλφα για εξοικονόμηση ομαλών άκρων. Σημείωση: εάν το χρησιμοποιείτε σε εικόνες χωρίς διαφάνεια, όλα τα χρώματα θα αντικατασταθούν με ένα.
Resize(int, int)Αλλάζει το μέγεθος της εικόνας. Η προεπιλεγμένηLeftTopToLeftTopχρησιμοποιείται.
override Resize(int, int, ImageResizeSettings)Αλλάζει το μέγεθος της εικόνας.
override Resize(int, int, ResizeType)Αλλάζει το μέγεθος της εικόνας.
ResizeHeightProportionally(int)Αλλάζει το ύψος αναλογικά.
virtual ResizeHeightProportionally(int, ImageResizeSettings)Αλλάζει το ύψος αναλογικά.
virtual ResizeHeightProportionally(int, ResizeType)Αλλάζει το ύψος αναλογικά.
ResizeWidthProportionally(int)Αλλάζει το μέγεθος του πλάτους αναλογικά.
virtual ResizeWidthProportionally(int, ImageResizeSettings)Αλλάζει το μέγεθος του πλάτους αναλογικά.
virtual ResizeWidthProportionally(int, ResizeType)Αλλάζει το μέγεθος του πλάτους αναλογικά.
virtual Rotate(float)Περιστροφή εικόνας γύρω από το κέντρο.
override Rotate(float, bool, Color)Περιστροφή εικόνας γύρω από το κέντρο.
override RotateFlip(RotateFlipType)Περιστρέφει, αναστρέφει ή περιστρέφει και αναστρέφει την εικόνα.
Save()Αποθηκεύει τα δεδομένα της εικόνας στην υποκείμενη ροή.
virtual Save(Stream)Αποθηκεύει τα δεδομένα του αντικειμένου στην καθορισμένη ροή.
Save(string)Αποθηκεύει τα δεδομένα του αντικειμένου στην καθορισμένη θέση αρχείου.
Save(Stream, ImageOptionsBase)Αποθηκεύει τα δεδομένα της εικόνας στην καθορισμένη ροή στην καθορισμένη μορφή αρχείου σύμφωνα με τις επιλογές αποθήκευσης.
virtual Save(string, bool)Αποθηκεύει τα δεδομένα του αντικειμένου στην καθορισμένη θέση αρχείου.
virtual Save(string, ImageOptionsBase)Αποθηκεύει τα δεδομένα του αντικειμένου στην καθορισμένη θέση αρχείου στην καθορισμένη μορφή αρχείου σύμφωνα με τις επιλογές αποθήκευσης.
override Save(Stream, ImageOptionsBase, Rectangle)Αποθηκεύει τα δεδομένα της εικόνας στην καθορισμένη ροή στην καθορισμένη μορφή αρχείου σύμφωνα με τις επιλογές αποθήκευσης.
virtual Save(string, ImageOptionsBase, Rectangle)Αποθηκεύει τα δεδομένα του αντικειμένου στην καθορισμένη θέση αρχείου στην καθορισμένη μορφή αρχείου σύμφωνα με τις επιλογές αποθήκευσης.
SaveArgb32Pixels(Rectangle, int[])Αποθηκεύει τα εικονοστοιχεία ARGB 32-bit.
SaveCmyk32Pixels(Rectangle, int[])Αποθηκεύει τα pixel.
SavePixels(Rectangle, Color[])Αποθηκεύει τα pixel.
SaveRawData(byte[], int, Rectangle, RawDataSettings)Αποθηκεύει τα πρωτογενή δεδομένα.
SetArgb32Pixel(int, int, int)Ορίζει μια εικόνα 32-bit ARGB pixel για την καθορισμένη θέση.
override SetPalette(IColorPalette, bool)Ορίζει την παλέτα εικόνων.
SetPixel(int, int, Color)Ορίζει ένα εικονοστοιχείο εικόνας για την καθορισμένη θέση.
virtual SetResolution(double, double)Ορίζει την ανάλυση για αυτόRasterImage .
virtual ToBitmap()Μετατρέπει την εικόνα ράστερ στο bitmap.
WriteArgb32ScanLine(int, int[])Εγγράφει ολόκληρη τη γραμμή σάρωσης στο καθορισμένο ευρετήριο γραμμής σάρωσης.
WriteScanLine(int, Color[])Εγγράφει ολόκληρη τη γραμμή σάρωσης στο καθορισμένο ευρετήριο γραμμής σάρωσης.

Παραδείγματα

Ο παρακάτω κώδικας δείχνει τη δυνατότητα περικοπής της εικόνας ανά συγκεκριμένο ορθογώνιο.

[C#]

string sourceFileName = "SourceFile.psd";
string exportPath = "SourceFileEdited.psd";
string exportPathPng = "SourceFileEdited.png";

using (var image = (PsdImage)Image.Load(sourceFileName))
{
    var oldLayer = image.Layers[0];
    var oldBounds = oldLayer.Bounds;

    var oldLayerData = image.Layers[0].LoadArgb32Pixels(oldBounds);

    var layers = new Layer[4];
    for (int i = 0; i < 4; i++)
    {
        layers[i] = new Layer(
            oldBounds,
            new byte[oldBounds.Width * oldBounds.Height],
            new byte[oldBounds.Width * oldBounds.Height],
            new byte[oldBounds.Width * oldBounds.Height],
            "Layer " + i.ToString());
        layers[i].SaveArgb32Pixels(oldBounds, oldLayerData);
    }

    image.Resize(186, 602);

    layers[0].Crop(new Rectangle(0, 0, 186, 159));
    layers[1].Crop(new Rectangle(186, 0, 186, 159));
    layers[2].Crop(new Rectangle(0, 159, 186, 142));
    layers[3].Crop(new Rectangle(186, 159, 186, 142));

    oldLayer.Dispose();
    image.Layers = layers;

    var top = 0;
    for (int i = 0; i < 4; i++)
    {
        var width = layers[i].Width;
        var height = layers[i].Height;
        layers[i].Left = 0;
        layers[i].Top = top;
        layers[i].Right = width;
        layers[i].Bottom = height + layers[i].Top;
        top += layers[i].Height;
    }

    // Αποθήκευση psd
    image.Save(exportPath, new PsdOptions());

    // Αποθήκευση png
    image.Save(exportPathPng, new PngOptions());
}

Δείτε επίσης