AddFrame
AddFrame()
Agrega un nuevo marco al final de la propia colección de marcos. Se creará un nuevo marco de acuerdo con el tamaño de la imagen actual.
public ApngFrame AddFrame()
Valor_devuelto
El marco APNG recién creado.
Ver también
- class ApngFrame
- class ApngImage
- espacio de nombres Aspose.Imaging.FileFormats.Apng
- asamblea Aspose.Imaging
AddFrame(RasterImage)
Agrega un nuevo marco al final de la propia colección de marcos. El contenido del nuevo marco se rellenará a partir de la imagen especificada.
public void AddFrame(RasterImage frameImage)
Parámetro | Escribe | Descripción |
---|---|---|
frameImage | RasterImage | La imagen del marco. |
Excepciones
excepción | condición |
---|---|
ArgumentNullException | frameImage es nulo. |
Ejemplos
El siguiente ejemplo muestra cómo crear una imagen APNG a partir de otra imagen ráster de una sola página.
[C#]
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.FileFormats.Apng;
const int AnimationDuration = 1000; // 1 segundo
const int FrameDuration = 70; // 70ms
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))
{
// Es posible establecer el tiempo de cuadro predeterminado de la imagen allí: apngImage.DefaultFrameTime = (uint)FrameDuration;
int numOfFrames = AnimationDuration / FrameDuration;
int numOfFrames2 = numOfFrames / 2;
// Limpieza porque la imagen contiene un cuadro por defecto
apngImage.RemoveAllFrames();
// agrega el primer cuadro
apngImage.AddFrame(sourceImage);
// agregar marcos intermedios
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);
}
// agrega el último cuadro
apngImage.AddFrame(sourceImage);
apngImage.Save();
}
}
Ver también
- class RasterImage
- class ApngImage
- espacio de nombres Aspose.Imaging.FileFormats.Apng
- asamblea Aspose.Imaging
AddFrame(RasterImage, uint)
Agrega un nuevo marco al final de la propia colección de marcos. El contenido del nuevo marco se rellenará a partir de la imagen especificada.
public void AddFrame(RasterImage frameImage, uint frameTime)
Parámetro | Escribe | Descripción |
---|---|---|
frameImage | RasterImage | La imagen del marco. |
frameTime | UInt32 | La duración del cuadro, en milisegundos. |
Excepciones
excepción | condición |
---|---|
ArgumentNullException | frameImage es nulo. |
Ver también
- class RasterImage
- class ApngImage
- espacio de nombres Aspose.Imaging.FileFormats.Apng
- asamblea Aspose.Imaging