AddFrame
Contenuti
[
Nascondere
]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
- class ApngFrame
- class ApngImage
- spazio dei nomi Aspose.Imaging.FileFormats.Apng
- assemblea Aspose.Imaging
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)
Parametro | Tipo | Descrizione |
---|---|---|
frameImage | RasterImage | L’immagine della cornice. |
Eccezioni
eccezione | condizione |
---|---|
ArgumentNullException | frameImage è 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
- class RasterImage
- class ApngImage
- spazio dei nomi Aspose.Imaging.FileFormats.Apng
- assemblea Aspose.Imaging
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)
Parametro | Tipo | Descrizione |
---|---|---|
frameImage | RasterImage | L’immagine della cornice. |
frameTime | UInt32 | La durata del fotogramma, in millisecondi. |
Eccezioni
eccezione | condizione |
---|---|
ArgumentNullException | frameImage è nullo. |
Guarda anche
- class RasterImage
- class ApngImage
- spazio dei nomi Aspose.Imaging.FileFormats.Apng
- assemblea Aspose.Imaging