Class RasterCachedImage

RasterCachedImage class

Representerar en rasterbild som stöder rastergrafikoperationer. Den här bilden cachar pixeldata vid behov.

public abstract class RasterCachedImage : RasterImage

Egenskaper

namnBeskrivning
AutoAdjustPalette { get; set; }Hämtar eller ställer in ett värde som anger om paletten för automatisk justering.
virtual BackgroundColor { get; set; }Hämtar eller ställer in ett värde för bakgrundsfärgen.
abstract BitsPerPixel { get; }Hämtar bildbitar per pixelantal.
Bounds { get; }Får bildens gränser.
BufferSizeHint { get; set; }Hämtar eller ställer in buffertstorlekstipset som är definierat som högsta tillåtna storlek för alla interna buffertar.
Container { get; }FårImage container.
DataStreamContainer { get; }Hämtar objektets dataström.
Disposed { get; }Får ett värde som indikerar om denna instans är bortskaffad.
virtual FileFormat { get; }Får värdet filformat
virtual HasAlpha { get; }Får ett värde som indikerar om denna instans har alpha.
virtual HasBackgroundColor { get; set; }Hämtar eller ställer in ett värde som anger om bilden har bakgrundsfärg.
virtual HasTransparentColor { get; set; }Får ett värde som indikerar om bilden har transparent färg.
abstract Height { get; }Hämtar bildhöjden.
virtual HorizontalResolution { get; set; }Hämtar eller ställer in den horisontella upplösningen, i pixlar per tum, för dettaRasterImage .
virtual ImageOpacity { get; }Får opacitet för denna bild.
InterruptMonitor { get; set; }Hämtar eller ställer in avbrottsmonitorn.
override IsCached { get; }Får ett värde som indikerar om bilddata är cachad för närvarande.
IsRawDataAvailable { get; }Får ett värde som anger om rådataladdning är tillgänglig.
Palette { get; set; }Hämtar eller ställer in färgpaletten. Färgpaletten används inte när pixlar representeras direkt.
virtual PremultiplyComponents { get; set; }Hämtar eller ställer in ett värde som anger om bildkomponenterna måste förmultipliceras.
RawCustomColorConverter { get; set; }Hämtar eller ställer in den anpassade färgomvandlaren
virtual RawDataFormat { get; }Hämtar rådataformatet.
RawDataSettings { get; }Hämtar aktuella rådatainställningar. Observera att när du använder dessa inställningar laddas data utan konvertering.
RawFallbackIndex { get; set; }Hämtar eller ställer in reservindex som ska användas när palettindex är utanför gränserna
RawIndexedColorConverter { get; set; }Hämtar eller ställer in den indexerade färgomvandlaren
virtual RawLineSize { get; }Hämtar den rå radstorleken i byte.
Size { get; }Hämtar bildstorleken.
virtual TransparentColor { get; set; }Får bilden genomskinlig färg.
virtual UpdateXmpData { get; set; }Hämtar eller ställer in ett värde som anger om XMP-metadata ska uppdateras.
virtual UseRawData { get; set; }Hämtar eller ställer in ett värde som anger om rådataladdning ska användas när rådataladdningen är tillgänglig.
virtual VerticalResolution { get; set; }Hämtar eller ställer in den vertikala upplösningen, i pixlar per tum, för dettaRasterImage .
abstract Width { get; }Hämtar bildens bredd.
virtual XmpData { get; set; }Hämtar eller ställer in XMP-metadata.

Metoder

namnBeskrivning
override AdjustBrightness(int)Justera en ljusstyrka för bilden.
override AdjustContrast(float)Bild kontrasterande
override AdjustGamma(float)Gamma-korrigering av en bild.
override AdjustGamma(float, float, float)Gamma-korrigering av en bild.
override BinarizeBradley(double)Binarisering av en bild med Bradleys adaptiva tröskelalgoritm med integralbildströskelvärde
override BinarizeBradley(double, int)Binarisering av en bild med Bradleys adaptiva tröskelalgoritm med integralbildströskelvärde
override BinarizeFixed(byte)Binarisering av en bild med fördefinierad tröskel
override BinarizeOtsu()Binarisering av en bild med Otsu thresholding
override CacheData()Cachelagrar data och säkerställer att ingen ytterligare dataladdning kommer att utföras från det underliggandeDataStreamContainer .
CanSave(ImageOptionsBase)Bestämmer om bilden kan sparas i det angivna filformatet som representeras av de godkända sparalternativen.
override Crop(Rectangle)Beskär bilden.
virtual Crop(int, int, int, int)Beskär bilden med skiftningar.
Dispose()Tar bort den aktuella instansen.
Dither(DitheringMethod, int)Utför dithering på den aktuella bilden.
override Dither(DitheringMethod, int, IColorPalette)Utför dithering på den aktuella bilden.
virtual Filter(Rectangle, FilterOptionsBase)Filtrerar den angivna rektangeln.
GetArgb32Pixel(int, int)Får en bild 32-bitars ARGB-pixel.
GetDefaultArgb32Pixels(Rectangle)Hämtar standard 32-bitars ARGB-pixelmatrisen.
virtual GetDefaultOptions(object[])Hämtar standardalternativen.
GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader)Hämtar standardpixelmatrisen med partial pixel loader.
GetDefaultRawData(Rectangle, RawDataSettings)Hämtar standardinställningen för rådata.
GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings)Hämtar den förinställda rådatamatrisen med hjälp av partial pixel loader.
virtual GetModifyDate(bool)Hämtar datum och tid då resursbilden senast ändrades.
virtual GetOriginalOptions()Hämtar alternativen baserat på de ursprungliga filinställningarna. Detta kan vara till hjälp för att behålla bitdjupet och andra parametrar i originalbilden oförändrade. Om vi till exempel laddar en svartvit PNG-bild med 1 bit per pixel och sedan spara den med hjälp av Save metod, kommer den utgående PNG-bilden med 8-bitar per pixel att produceras. För att undvika det och spara PNG-bild med 1-bit per pixel, använd den här metoden för att få motsvarande sparalternativ och skicka dem tillSavemetod som den andra parametern.
GetPixel(int, int)Får en bildpixel.
GetSkewAngle()Hämtar skevningsvinkeln. Denna metod är tillämplig på skannade textdokument, för att bestämma snedställningsvinkeln vid skanning.
override Grayscale()Transformation av en bild till dess gråskalerepresentation
LoadArgb32Pixels(Rectangle)Laddar 32-bitars ARGB-pixlar.
LoadArgb64Pixels(Rectangle)Laddar 64-bitars ARGB-pixlar.
LoadCmyk32Pixels(Rectangle)Laddar pixlar i CMYK-format.
LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader)Laddar 32-bitars ARGB-pixlar delvis i paket.
LoadPartialPixels(Rectangle, IPartialPixelLoader)Laddar pixlar delvis i paket.
LoadPixels(Rectangle)Laddar pixlar.
LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader)Laddar rådata.
LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader)Laddar rådata.
NormalizeAngle()Normaliserar vinkeln. Denna metod är tillämplig på skannade textdokument för att bli av med den skeva skanningen. Denna metod använderGetSkewAngle ochRotate metoder.
virtual NormalizeAngle(bool, Color)Normaliserar vinkeln. Denna metod är tillämplig på skannade textdokument för att bli av med den skeva skanningen. Denna metod använderGetSkewAngle ochRotate metoder.
ReadArgb32ScanLine(int)Läser hela skanningslinjen med det angivna skanningslinjeindexet.
ReadScanLine(int)Läser hela skanningslinjen med det angivna skanningslinjeindexet.
ReplaceColor(Color, byte, Color)Ersätter en färg mot en annan med tillåten skillnad och bevarar det ursprungliga alfavärdet för att spara jämna kanter.
virtual ReplaceColor(int, byte, int)Ersätter en färg mot en annan med tillåten skillnad och bevarar det ursprungliga alfavärdet för att spara jämna kanter.
ReplaceNonTransparentColors(Color)Ersätter alla icke-transparenta färger med ny färg och bevarar det ursprungliga alfavärdet för att spara jämna kanter. Obs: om du använder det på bilder utan genomskinlighet kommer alla färger att ersättas med en enda.
virtual ReplaceNonTransparentColors(int)Ersätter alla icke-transparenta färger med ny färg och bevarar det ursprungliga alfavärdet för att spara jämna kanter. Obs: om du använder det på bilder utan genomskinlighet kommer alla färger att ersättas med en enda.
Resize(int, int)Ändrar storleken på bilden. StandardenLeftTopToLeftTopanvänds.
override Resize(int, int, ImageResizeSettings)Ändrar storlek på bilden.
override Resize(int, int, ResizeType)Ändrar storlek på bilden.
ResizeHeightProportionally(int)Ändrar storleken på höjden proportionellt.
virtual ResizeHeightProportionally(int, ImageResizeSettings)Ändrar storleken på höjden proportionellt.
virtual ResizeHeightProportionally(int, ResizeType)Ändrar storleken på höjden proportionellt.
ResizeWidthProportionally(int)Ändrar storleken på bredden proportionellt.
virtual ResizeWidthProportionally(int, ImageResizeSettings)Ändrar storleken på bredden proportionellt.
virtual ResizeWidthProportionally(int, ResizeType)Ändrar storleken på bredden proportionellt.
virtual Rotate(float)Rotera bilden runt mitten.
override Rotate(float, bool, Color)Rotera bilden runt mitten.
override RotateFlip(RotateFlipType)Roterar, vänder eller roterar och vänder bilden.
Save()Sparar bilddata till den underliggande strömmen.
virtual Save(Stream)Sparar objektets data till den angivna strömmen.
Save(string)Sparar objektets data till den angivna filplatsen.
Save(Stream, ImageOptionsBase)Sparar bildens data till den angivna strömmen i det angivna filformatet enligt sparalternativ.
virtual Save(string, bool)Sparar objektets data till den angivna filplatsen.
virtual Save(string, ImageOptionsBase)Sparar objektets data till den angivna filplatsen i det angivna filformatet enligt sparalternativ.
override Save(Stream, ImageOptionsBase, Rectangle)Sparar bildens data till den angivna strömmen i det angivna filformatet enligt sparalternativ.
virtual Save(string, ImageOptionsBase, Rectangle)Sparar objektets data till den angivna filplatsen i det angivna filformatet enligt sparalternativ.
SaveArgb32Pixels(Rectangle, int[])Sparar 32-bitars ARGB-pixlar.
SaveCmyk32Pixels(Rectangle, int[])Sparar pixlarna.
SavePixels(Rectangle, Color[])Sparar pixlarna.
SaveRawData(byte[], int, Rectangle, RawDataSettings)Sparar rådata.
SetArgb32Pixel(int, int, int)Ställer in en 32-bitars ARGB-pixel för den angivna positionen.
override SetPalette(IColorPalette, bool)Ställer in bildpaletten.
SetPixel(int, int, Color)Ställer in en bildpixel för den angivna positionen.
virtual SetResolution(double, double)Ställer in upplösningen för dettaRasterImage .
virtual ToBitmap()Konverterar rasterbilden till bitmappen.
WriteArgb32ScanLine(int, int[])Skriver hela skanningslinjen till det angivna skanningslinjeindexet.
WriteScanLine(int, Color[])Skriver hela skanningslinjen till det angivna skanningslinjeindexet.

Exempel

Följande kod visar förmågan att beskära bilden med en specifik rektangel.

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

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

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

Se även