ApngOptions

ApngOptions class

Det animerade PNG-filformatet options

public class ApngOptions : PngOptions

Konstruktörer

namnBeskrivning
ApngOptions()Default_Constructor

Egenskaper

namnBeskrivning
BitDepth { get; set; }Bitdjupet.
BufferSizeHint { get; set; }Hämtar eller ställer in buffertstorlekstipset som är definierat som högsta tillåtna storlek för alla interna buffertar.
ColorType { get; set; }Hämtar eller ställer in typ av färg.
CompressionLevel { get; set; }Png-bildkomprimeringsnivån i intervallet 0-9, där 9 är maximal komprimering och 0 är lagringsläge.
DefaultFrameTime { get; set; }Hämtar eller ställer in standardbildlängden.
Disposed { get; }Får ett värde som indikerar om denna instans är bortskaffad.
FilterType { get; set; }Hämtar eller ställer in filtertypen som används under png-filsparprocessen.
FullFrame { get; set; }Hämtar eller ställer in ett värde som anger om [helbild].
MultiPageOptions { get; set; }Alternativen för flera sidor
NumPlays { get; set; }Hämtar eller ställer in antalet gånger för loop-animering. 0 indikerar oändlig looping.
virtual Palette { get; set; }Hämtar eller ställer in färgpaletten.
ProgressEventHandler { get; set; }Hämtar eller ställer in förloppshändelsehanteraren.
Progressive { get; set; }Hämtar eller ställer in ett värde som indikerar om dettaPngOptions är progressiv.
virtual ResolutionSettings { get; set; }Hämtar eller ställer in upplösningsinställningarna.
Source { get; set; }Hämtar eller ställer in källan för att skapa bild i.
VectorRasterizationOptions { get; set; }Hämtar eller ställer in vektorrasteriseringsalternativen.
override XmpData { get; set; }Hämtar eller ställer in XMP-metadatabehållaren.

Metoder

namnBeskrivning
virtual Clone()Klonar den här instansen.
Dispose()Tar bort den aktuella instansen.

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