AddFrame

AddFrame()

Aggiunge una nuova cornice alla fine della propria raccolta di cornici. Verrà creata una nuova cornice in base alle dimensioni dell’immagine corrente.

public ApngFrame AddFrame()

Valore di ritorno

Il frame APNG appena creato.

Guarda anche


AddFrame(RasterImage)

Aggiunge un nuovo frame alla fine della propria raccolta di frame. Il contenuto del nuovo frame verrà riempito dall’immagine specificata.

public void AddFrame(RasterImage frameImage)
ParametroTipoDescrizione
frameImageRasterImageL’immagine della cornice.

Eccezioni

eccezionecondizione
ArgumentNullExceptionframeImage è nullo.

Esempi

L’esempio seguente mostra come creare un’immagine APNG da un’altra immagine raster a pagina singola.

[C#]

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

const int AnimationDuration = 1000; // 1 secondo
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))
    {
        // È possibile impostare il frame time predefinito dell'immagine qui: apngImage.DefaultFrameTime = (uint)FrameDuration;

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

        // Pulizia perché l'immagine contiene un frame per impostazione predefinita
        apngImage.RemoveAllFrames();

        // aggiungi il primo fotogramma
        apngImage.AddFrame(sourceImage);

        // aggiungi frame intermedi
        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);
        }

        // aggiungi l'ultimo fotogramma
        apngImage.AddFrame(sourceImage);

        apngImage.Save();
    }
}

Guarda anche


AddFrame(RasterImage, uint)

Aggiunge un nuovo frame alla fine della propria raccolta di frame. Il contenuto del nuovo frame verrà riempito dall’immagine specificata.

public void AddFrame(RasterImage frameImage, uint frameTime)
ParametroTipoDescrizione
frameImageRasterImageL’immagine della cornice.
frameTimeUInt32La durata del fotogramma, in millisecondi.

Eccezioni

eccezionecondizione
ArgumentNullExceptionframeImage è nullo.

Guarda anche