ApngOptions
Contenido
[
Ocultar
]ApngOptions class
Las opciones de formato de archivo PNG animado
public class ApngOptions : PngOptions
Constructores
Nombre | Descripción |
---|---|
ApngOptions() | Constructor predeterminado |
Propiedades
Nombre | Descripción |
---|---|
BitDepth { get; set; } | La profundidad de bits. |
BufferSizeHint { get; set; } | Obtiene o establece la sugerencia de tamaño de búfer que se define como el tamaño máximo permitido para todos los búferes internos. |
ColorType { get; set; } | Obtiene o establece el tipo de color. |
CompressionLevel { get; set; } | El nivel de compresión de la imagen png en el rango de 0-9, donde 9 es la compresión máxima y 0 es el modo de almacenamiento. |
DefaultFrameTime { get; set; } | Obtiene o establece la duración del marco predeterminado. |
Disposed { get; } | Obtiene un valor que indica si esta instancia se desecha. |
FilterType { get; set; } | Obtiene o establece el tipo de filtro utilizado durante el proceso de guardado del archivo png. |
FullFrame { get; set; } | Obtiene o establece un valor que indica si [fotograma completo]. |
MultiPageOptions { get; set; } | Las opciones multipágina |
NumPlays { get; set; } | Obtiene o establece el número de veces que se repite la animación. 0 indica un bucle infinito. |
virtual Palette { get; set; } | Obtiene o establece la paleta de colores. |
ProgressEventHandler { get; set; } | Obtiene o establece el controlador de eventos de progreso. |
Progressive { get; set; } | Obtiene o establece un valor que indica si estePngOptions es progresivo. |
virtual ResolutionSettings { get; set; } | Obtiene o establece la configuración de resolución. |
Source { get; set; } | Obtiene o establece la fuente para crear la imagen en. |
VectorRasterizationOptions { get; set; } | Obtiene o establece las opciones de rasterización de vectores. |
override XmpData { get; set; } | Obtiene o establece el contenedor de metadatos XMP. |
Métodos
Nombre | Descripción |
---|---|
virtual Clone() | Clona esta instancia. |
Dispose() | Elimina la instancia actual. |
Ejemplos
El siguiente ejemplo muestra cómo exportar el formato de archivo apng APNG desde otro formato de varias páginas no animadas.
[C#]
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using (Image image = Image.Load("img4.tif")) {
// Configuración de la duración del cuadro por defecto
image.Save("img4.tif.500ms.png", new ApngOptions() { DefaultFrameTime = 500 }); // 500ms
image.Save("img4.tif.250ms.png", new ApngOptions() { DefaultFrameTime = 250 }); // 250ms
}
El siguiente ejemplo muestra cómo exportar al formato de archivo APNG.
[C#]
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using (Image image = Image.Load("Animation1.webp")) {
// Exportar a animación APNG con ciclos de animación ilimitados por defecto
image.Save("Animation1.webp.png", new ApngOptions());
// Configuración de ciclos de animación
image.Save("Animation2.webp.png", new ApngOptions() { NumPlays = 5 }); // 5 ciclos
}
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 PngOptions
- espacio de nombres Aspose.Imaging.ImageOptions
- asamblea Aspose.Imaging