ApngImage

ApngImage class

Den animerade PNG-bilden.

public sealed class ApngImage : RasterCachedMultipageImage, IMultipageImageExt

Konstruktörer

namnBeskrivning
ApngImage(ApngOptions, int, int)Initierar en ny instans avApngImage class.

Egenskaper

namnBeskrivning
AutoAdjustPalette { get; set; }Hämtar eller ställer in ett värde som anger om paletten för automatisk justering.
override BackgroundColor { get; set; }Hämtar eller ställer in ett värde för bakgrundsfärgen.
override 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.
DefaultFrameTime { get; set; }Hämtar eller ställer in standardbildlängden. Används när du skapar nya ramar.
Disposed { get; }Får ett värde som indikerar om denna instans är bortskaffad.
override FileFormat { get; }Får värdet filformat
override 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.
override HasTransparentColor { get; }Får ett värde som indikerar om bilden har transparent färg.
override 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 .
override ImageOpacity { get; }Får opacitet för denna bild.
Interlaced { get; }Får ett värde som indikerar om dettaPngImage är sammanflätad.
InterruptMonitor { get; set; }Hämtar eller ställer in avbrottsmonitorn.
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.
NumPlays { get; set; }Hämtar eller ställer in antalet gånger för loop-animering. 0 indikerar oändlig looping.
override PageCount { get; }Hämtar sidantal.
override PageExportingAction { get; set; }Hämtar eller ställer in sidexporteringsåtgärden. Observera att inställning av den här metoden automatiskt frigör sidresurser efter att den har körts. Den kommer att köras precis innan varje sida sparas.
override Pages { get; }Hämtar sidorna.
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.
override UsePalette { get; }Får ett värde som indikerar om bildpaletten används.
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 .
override Width { get; }Hämtar bildens bredd.
override XmpData { get; set; }Hämtar eller ställer in XMP-metadata.

Metoder

namnBeskrivning
AddFrame()Lägger till en ny ram i slutet av den egna ramsamlingen. En ny ram kommer att skapas enligt storleken på den aktuella bilden.
AddFrame(RasterImage)Lägger till ny ram i slutet av den egna ramsamlingen. Innehållet i den nya ramen kommer att fyllas från den angivna bilden.
AddFrame(RasterImage, uint)Lägger till ny ram i slutet av den egna ramsamlingen. Innehållet i den nya ramen kommer att fyllas från den angivna bilden.
AddPage(RasterImage)Lägger till sida i bilden.
override AdjustBrightness(int)Justering av enbrightness för bild.
override AdjustContrast(float)Image 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 hjälp av integralbildströskelvärdet
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 privat.
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.
override 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.
override 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.
override 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.
override GetModifyDate(bool)Hämtar datum och tid då resursbilden senast ändrades.
override 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 tillSave metod 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
InsertFrame(int)Infogar ny ram i den egna ramsamlingen vid angivet index. En ny ram kommer att skapas enligt storleken på den aktuella bilden.
InsertFrame(int, RasterImage)Infogar ny ram i den egna ramsamlingen vid angivet index. Innehållet i den nya ramen kommer att fyllas från den angivna bilden.
InsertFrame(int, RasterImage, uint)Infogar ny ram i den egna ramsamlingen vid angivet index. Innehållet i den nya ramen kommer att fyllas från den angivna bilden.
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.
override 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änder!:GetSkewAngle ochRotate metoder.
PopFrameAt(int)Tar bort och returnerar ramen vid det angivna indexet för den egna ramsamlingen.
ReadArgb32ScanLine(int)Läser hela skanningslinjen med det angivna skanningslinjeindexet.
ReadScanLine(int)Läser hela skanningslinjen med det angivna skanningslinjeindexet.
RemoveAllFrames()Tar bort alla ramar från den egna ramsamlingen.
RemoveFrameAt(int)Tar bort ramen vid det angivna indexet för den egna ramsamlingen. Ramen som ska tas bort kommer att kasseras.
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.
override 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.
override 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.
ResetDefaultImage()Tar bort en tidigare inställd standardbild. Efter detta är standardbilden den första bildrutan i den egna ramsamlingen (den kan inte tas bort med den här metoden).
Resize(int, int)Ändrar storleken på bilden. StandardenNearestNeighbourResample anvä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. StandardenNearestNeighbourResample används.
virtual ResizeHeightProportionally(int, ImageResizeSettings)Ändrar storleken på höjden proportionellt.
override ResizeHeightProportionally(int, ResizeType)Ändrar storleken på bredden proportionellt.
ResizeWidthProportionally(int)Ändrar storleken på bredden proportionellt. StandardenNearestNeighbourResample används.
virtual ResizeWidthProportionally(int, ImageResizeSettings)Ändrar storleken på bredden proportionellt.
override ResizeWidthProportionally(int, ResizeType)Ändrar storleken på bredden proportionellt.
virtual Rotate(float)Rotera bilden runt mitten.
override Rotate(float, bool, Color)!:RasterCahcedMultipageImage.Rotate bild runt mitten.
override RotateFlip(RotateFlipType)Roterar, vänder eller roterar och vänder endast den aktiva ramen.
Save()Sparar bilddata till den underliggande strömmen.
Save(Stream)Sparar objektets data till den angivna strömmen.
override Save(string)Sparar bilden 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.
SetDefaultImage(RasterImage)Ställer in den angivna rasterbilden som standardbild för den aktuella animationen.
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 exempel visar hur man exporterar apng APNG-filformat från andra icke-animerade flersidiga format.

[C#]

using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;

using (Image image = Image.Load("img4.tif")) {
    // Ställa in standardbildlängden
    image.Save("img4.tif.500ms.png", new ApngOptions() { DefaultFrameTime = 500 }); // 500 ms
    image.Save("img4.tif.250ms.png", new ApngOptions() { DefaultFrameTime = 250 }); // 250 ms
}

Följande exempel visar hur man exporterar till APNG-filformat.

[C#]

using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;

using (Image image = Image.Load("Animation1.webp")) {
    // Exportera till APNG-animering med obegränsade animeringscykler som standard
    image.Save("Animation1.webp.png", new ApngOptions());
    // Ställa in animationscykler
    image.Save("Animation2.webp.png", new ApngOptions() { NumPlays = 5 }); // 5 cykler
}

Följande exempel visar hur man skapar APNG-bild från en annan rasterbild på en sida.

[C#]

using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.FileFormats.Apng;

const int AnimationDuration = 1000; // 1 s
const int FrameDuration = 70; // 70 ms
using (RasterImage sourceImage = (RasterImage)Image.Load("not_animated.png"))
{
    ApngOptions createOptions = new ApngOptions
    {
        Source = new FileCreateSource("raster_animation.png", false),
        DefaultFrameTime = (uint)FrameDuration,
        ColorType = PngColorType.TruecolorWithAlpha,
    };

    using (ApngImage apngImage = (ApngImage)Image.Create(
        createOptions,
        sourceImage.Width,
        sourceImage.Height))
    {
        // Det är möjligt att ställa in bildens standardbildtid där: apngImage.DefaultFrameTime = (uint)FrameDuration;

        int numOfFrames = AnimationDuration / FrameDuration;
        int numOfFrames2 = numOfFrames / 2;

        // Rengöring eftersom bilden innehåller en ram som standard
        apngImage.RemoveAllFrames();

        // lägg till första bildrutan
        apngImage.AddFrame(sourceImage);

        // lägg till mellanliggande ramar
        for (int frameIndex = 1; frameIndex < numOfFrames - 1; ++frameIndex)
        {
            apngImage.AddFrame(sourceImage);
            ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
            float gamma = frameIndex >= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
            lastFrame.AdjustGamma(gamma);
        }

        // lägg till sista bildrutan
        apngImage.AddFrame(sourceImage);

        apngImage.Save();
    }
}

Se även