AddFrame
Contenido
[
Ocultar
]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