Class RasterCachedImage

RasterCachedImage class

Rappresenta un’immagine raster che supporta operazioni di grafica raster. Questa immagine memorizza nella cache i dati dei pixel quando richiesto.

public abstract class RasterCachedImage : RasterImage

Proprietà

NomeDescrizione
AutoAdjustPalette { get; set; }Ottiene o imposta un valore che indica se la regolazione automatica della tavolozza.
virtual BackgroundColor { get; set; }Ottiene o imposta un valore per il colore di sfondo.
abstract BitsPerPixel { get; }Ottiene i bit dell’immagine per numero di pixel.
Bounds { get; }Ottiene i limiti dell’immagine.
BufferSizeHint { get; set; }Ottiene o imposta l’hint della dimensione del buffer che è definita dimensione massima consentita per tutti i buffer interni.
Container { get; }Ottiene ilImage contenitore.
DataStreamContainer { get; }Ottiene il flusso di dati dell’oggetto.
Disposed { get; }Ottiene un valore che indica se questa istanza è stata eliminata.
virtual FileFormat { get; }Ottiene un valore di file format
virtual HasAlpha { get; }Ottiene un valore che indica se questa istanza ha alpha.
virtual HasBackgroundColor { get; set; }Ottiene o imposta un valore che indica se l’immagine ha un colore di sfondo.
virtual HasTransparentColor { get; set; }Ottiene un valore che indica se l’immagine ha un colore trasparente.
abstract Height { get; }Ottiene l’altezza dell’immagine.
virtual HorizontalResolution { get; set; }Ottiene o imposta la risoluzione orizzontale, in pixel per pollice, di thisRasterImage .
virtual ImageOpacity { get; }Ottiene l’opacità di questa immagine.
InterruptMonitor { get; set; }Ottiene o imposta il monitor di interrupt.
override IsCached { get; }Ottiene un valore che indica se i dati dell’immagine sono attualmente memorizzati nella cache.
IsRawDataAvailable { get; }Ottiene un valore che indica se è disponibile il caricamento dei dati non elaborati.
Palette { get; set; }Ottiene o imposta la tavolozza dei colori. La tavolozza dei colori non viene utilizzata quando i pixel sono rappresentati direttamente.
virtual PremultiplyComponents { get; set; }Ottiene o imposta un valore che indica se i componenti dell’immagine devono essere premoltiplicati.
RawCustomColorConverter { get; set; }Ottiene o imposta il convertitore di colore personalizzato
virtual RawDataFormat { get; }Ottiene il formato dei dati grezzi.
RawDataSettings { get; }Ottiene le impostazioni dei dati non elaborati correnti. Nota quando si utilizzano queste impostazioni i dati vengono caricati senza conversione.
RawFallbackIndex { get; set; }Ottiene o imposta l’indice di fallback da utilizzare quando l’indice della tavolozza è fuori limite
RawIndexedColorConverter { get; set; }Ottiene o imposta il convertitore di colore indicizzato
virtual RawLineSize { get; }Ottiene la dimensione della riga non elaborata in byte.
Size { get; }Ottiene la dimensione dell’immagine.
virtual TransparentColor { get; set; }Ottiene il colore trasparente dell’immagine.
virtual UpdateXmpData { get; set; }Ottiene o imposta un valore che indica se aggiornare i metadati XMP.
virtual UseRawData { get; set; }Ottiene o imposta un valore che indica se utilizzare il caricamento dei dati non elaborati quando è disponibile il caricamento dei dati non elaborati.
virtual VerticalResolution { get; set; }Ottiene o imposta la risoluzione verticale, in pixel per pollice, di thisRasterImage .
abstract Width { get; }Ottiene la larghezza dell’immagine.
virtual XmpData { get; set; }Ottiene o imposta i metadati XMP.

Metodi

NomeDescrizione
override AdjustBrightness(int)Regola la luminosità dell’immagine.
override AdjustContrast(float)Contrasto immagine
override AdjustGamma(float)Correzione gamma di un’immagine.
override AdjustGamma(float, float, float)Correzione gamma di un’immagine.
override BinarizeBradley(double)Binarizzazione di un’immagine utilizzando l’algoritmo di soglia adattiva di Bradley utilizzando la soglia integrale dell’immagine
override BinarizeBradley(double, int)Binarizzazione di un’immagine utilizzando l’algoritmo di soglia adattiva di Bradley utilizzando la soglia integrale dell’immagine
override BinarizeFixed(byte)Binarizzazione di un’immagine con soglia predefinita
override BinarizeOtsu()Binarizzazione di un’immagine con Otsu thresholding
override CacheData()Memorizza i dati nella cache e garantisce che non venga eseguito alcun caricamento di dati aggiuntivi dal sottostanteDataStreamContainer .
CanSave(ImageOptionsBase)Determina se l’immagine può essere salvata nel formato di file specificato rappresentato dalle opzioni di salvataggio passate.
override Crop(Rectangle)Ritaglio dell’immagine.
virtual Crop(int, int, int, int)Ritaglia l’immagine con spostamenti.
Dispose()Elimina l’istanza corrente.
Dither(DitheringMethod, int)Esegue il dithering sull’immagine corrente.
override Dither(DitheringMethod, int, IColorPalette)Esegue il dithering sull’immagine corrente.
virtual Filter(Rectangle, FilterOptionsBase)Filtra il rettangolo specificato.
GetArgb32Pixel(int, int)Ottiene un pixel ARGB a 32 bit dell’immagine.
GetDefaultArgb32Pixels(Rectangle)Ottiene l’array di pixel ARGB a 32 bit predefinito.
virtual GetDefaultOptions(object[])Ottiene le opzioni predefinite.
GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader)Ottiene l’array di pixel predefinito utilizzando il caricatore parziale di pixel.
GetDefaultRawData(Rectangle, RawDataSettings)Ottiene l’array di dati non elaborati predefinito.
GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings)Ottiene l’array di dati non elaborati predefinito utilizzando il caricamento parziale dei pixel.
virtual GetModifyDate(bool)Ottiene la data e l’ora dell’ultima modifica dell’immagine della risorsa.
virtual GetOriginalOptions()Ottiene le opzioni in base alle impostazioni del file originale. Questo può essere utile per mantenere invariati la profondità di bit e altri parametri dell’immagine originale. Ad esempio, se carichiamo un’immagine PNG in bianco e nero con 1 bit per pixel e poi salvalo usando the Save metodo, verrà prodotta l’immagine PNG di output con 8 bit per pixel. Per evitarlo e salvare l’immagine PNG con 1 bit per pixel, utilizzare questo metodo per ottenere le opzioni di salvataggio corrispondenti e passarle alSavemetodo come secondo parametro.
GetPixel(int, int)Ottiene un pixel dell’immagine.
GetSkewAngle()Ottiene l’angolo di inclinazione. Questo metodo è applicabile ai documenti di testo scansionati, per determinare l’angolo di inclinazione durante la scansione.
override Grayscale()Trasformazione di un’immagine nella sua rappresentazione in scala di grigi
LoadArgb32Pixels(Rectangle)Carica pixel ARGB a 32 bit.
LoadArgb64Pixels(Rectangle)Carica pixel ARGB a 64 bit.
LoadCmyk32Pixels(Rectangle)Carica pixel in formato CMYK.
LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader)Carica i pixel ARGB a 32 bit parzialmente per pacchetti.
LoadPartialPixels(Rectangle, IPartialPixelLoader)Carica i pixel parzialmente per pacchetti.
LoadPixels(Rectangle)Carica i pixel.
LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader)Carica i dati grezzi.
LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader)Carica i dati grezzi.
NormalizeAngle()Normalizza l’angolo. Questo metodo è applicabile ai documenti di testo scansionati per eliminare la scansione inclinata. Questo metodo utilizzaGetSkewAngle ERotate metodi.
virtual NormalizeAngle(bool, Color)Normalizza l’angolo. Questo metodo è applicabile ai documenti di testo scansionati per eliminare la scansione inclinata. Questo metodo utilizzaGetSkewAngle ERotate metodi.
ReadArgb32ScanLine(int)Legge l’intera linea di scansione in base all’indice della linea di scansione specificato.
ReadScanLine(int)Legge l’intera linea di scansione in base all’indice della linea di scansione specificato.
ReplaceColor(Color, byte, Color)Sostituisce un colore con un altro con la differenza consentita e conserva il valore alfa originale per salvare i bordi smussati.
virtual ReplaceColor(int, byte, int)Sostituisce un colore con un altro con la differenza consentita e conserva il valore alfa originale per salvare i bordi smussati.
ReplaceNonTransparentColors(Color)Sostituisce tutti i colori non trasparenti con un nuovo colore e conserva il valore alfa originale per salvare i bordi smussati. Nota: se lo usi su immagini senza trasparenza, tutti i colori verranno sostituiti con uno solo.
virtual ReplaceNonTransparentColors(int)Sostituisce tutti i colori non trasparenti con un nuovo colore e conserva il valore alfa originale per salvare i bordi smussati. Nota: se lo usi su immagini senza trasparenza, tutti i colori verranno sostituiti con uno solo.
Resize(int, int)Ridimensiona l’immagine. Il predefinitoLeftTopToLeftTopviene utilizzato.
override Resize(int, int, ImageResizeSettings)Ridimensiona l’immagine.
override Resize(int, int, ResizeType)Ridimensiona l’immagine.
ResizeHeightProportionally(int)Ridimensiona proporzionalmente l’altezza.
virtual ResizeHeightProportionally(int, ImageResizeSettings)Ridimensiona proporzionalmente l’altezza.
virtual ResizeHeightProportionally(int, ResizeType)Ridimensiona proporzionalmente l’altezza.
ResizeWidthProportionally(int)Ridimensiona proporzionalmente la larghezza.
virtual ResizeWidthProportionally(int, ImageResizeSettings)Ridimensiona proporzionalmente la larghezza.
virtual ResizeWidthProportionally(int, ResizeType)Ridimensiona proporzionalmente la larghezza.
virtual Rotate(float)Ruota l’immagine attorno al centro.
override Rotate(float, bool, Color)Ruota l’immagine attorno al centro.
override RotateFlip(RotateFlipType)Ruota, capovolge o ruota e capovolge l’immagine.
Save()Salva i dati dell’immagine nel flusso sottostante.
virtual Save(Stream)Salva i dati dell’oggetto nel flusso specificato.
Save(string)Salva i dati dell’oggetto nella posizione file specificata.
Save(Stream, ImageOptionsBase)Salva i dati dell’immagine nel flusso specificato nel formato di file specificato in base alle opzioni di salvataggio.
virtual Save(string, bool)Salva i dati dell’oggetto nella posizione file specificata.
virtual Save(string, ImageOptionsBase)Salva i dati dell’oggetto nella posizione file specificata nel formato file specificato in base alle opzioni di salvataggio.
override Save(Stream, ImageOptionsBase, Rectangle)Salva i dati dell’immagine nel flusso specificato nel formato di file specificato in base alle opzioni di salvataggio.
virtual Save(string, ImageOptionsBase, Rectangle)Salva i dati dell’oggetto nella posizione file specificata nel formato file specificato in base alle opzioni di salvataggio.
SaveArgb32Pixels(Rectangle, int[])Salva i pixel ARGB a 32 bit.
SaveCmyk32Pixels(Rectangle, int[])Salva i pixel.
SavePixels(Rectangle, Color[])Salva i pixel.
SaveRawData(byte[], int, Rectangle, RawDataSettings)Salva i dati grezzi.
SetArgb32Pixel(int, int, int)Imposta un pixel ARGB a 32 bit dell’immagine per la posizione specificata.
override SetPalette(IColorPalette, bool)Imposta la tavolozza dell’immagine.
SetPixel(int, int, Color)Imposta un pixel dell’immagine per la posizione specificata.
virtual SetResolution(double, double)Imposta la risoluzione per questoRasterImage .
virtual ToBitmap()Converte l’immagine raster in bitmap.
WriteArgb32ScanLine(int, int[])Scrive l’intera linea di scansione nell’indice della linea di scansione specificato.
WriteScanLine(int, Color[])Scrive l’intera linea di scansione nell’indice della linea di scansione specificato.

Esempi

Il codice seguente dimostra la possibilità di ritagliare l’immagine in base a un rettangolo specifico.

[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;
    }

    // Salva psd
    image.Save(exportPath, new PsdOptions());

    // Salva png
    image.Save(exportPathPng, new PngOptions());
}

Guarda anche