ApngOptions
Содержание
[
Скрывать
]ApngOptions class
Формат анимированного файла PNG options
public class ApngOptions : PngOptions
Конструкторы
Имя | Описание |
---|---|
ApngOptions() | Конструктор по умолчанию. |
Характеристики
Имя | Описание |
---|---|
BitDepth { get; set; } | Битовая глубина. |
BufferSizeHint { get; set; } | Получает или задает подсказку о размере буфера, которая определяет максимально допустимый размер для всех внутренних буферов. |
ColorType { get; set; } | Получает или задает тип цвета. |
CompressionLevel { get; set; } | Уровень сжатия изображения png в диапазоне от 0 до 9, где 9 — максимальное сжатие, а 0 — режим сохранения. |
DefaultFrameTime { get; set; } | Получает или задает длительность кадра по умолчанию. |
Disposed { get; } | Получает значение, указывающее, удален ли этот экземпляр. |
FilterType { get; set; } | Получает или задает тип фильтра, используемый во время процесса сохранения файла png. |
FullFrame { get; set; } | Получает или задает значение, указывающее, является ли [полный кадр]. |
MultiPageOptions { get; set; } | Многостраничные параметры |
NumPlays { get; set; } | Получает или задает количество циклов анимации. 0 указывает на бесконечный цикл. |
virtual Palette { get; set; } | Получает или задает цветовую палитру. |
ProgressEventHandler { get; set; } | Получает или задает обработчик события выполнения. |
Progressive { get; set; } | Получает или задает значение, указывающее, является ли этоPngOptions является прогрессивным. |
virtual ResolutionSettings { get; set; } | Получает или задает параметры разрешения. |
Source { get; set; } | Получает или задает источник для создания изображения в. |
VectorRasterizationOptions { get; set; } | Получает или задает параметры векторной растеризации. |
override XmpData { get; set; } | Получает или задает контейнер метаданных XMP. |
Методы
Имя | Описание |
---|---|
virtual Clone() | Клонирует этот экземпляр. |
Dispose() | Удаляет текущий экземпляр. |
Примеры
В следующем примере показано, как экспортировать файл apng в формате APNG из другого неанимированного многостраничного формата.
[C#]
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using (Image image = Image.Load("img4.tif")) {
// Установка длительности кадра по умолчанию
image.Save("img4.tif.500ms.png", new ApngOptions() { DefaultFrameTime = 500 }); // 500 мс
image.Save("img4.tif.250ms.png", new ApngOptions() { DefaultFrameTime = 250 }); // 250 мс
}
В следующем примере показано, как выполнить экспорт в формат файла APNG.
[C#]
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using (Image image = Image.Load("Animation1.webp")) {
// Экспорт в APNG-анимацию с неограниченным количеством циклов анимации по умолчанию
image.Save("Animation1.webp.png", new ApngOptions());
// Настройка циклов анимации
image.Save("Animation2.webp.png", new ApngOptions() { NumPlays = 5 }); // 5 циклов
}
В следующем примере показано, как создать изображение APNG из другого растрового одностраничного изображения.
[C#]
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.FileFormats.Apng;
const int AnimationDuration = 1000; // 1 с
const int FrameDuration = 70; // 70 мс
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))
{
// Здесь можно установить время кадра изображения по умолчанию: apngImage.DefaultFrameTime = (uint)FrameDuration;
int numOfFrames = AnimationDuration / FrameDuration;
int numOfFrames2 = numOfFrames / 2;
// Очистка, так как изображение по умолчанию содержит один кадр
apngImage.RemoveAllFrames();
// добавляем первый кадр
apngImage.AddFrame(sourceImage);
// добавляем промежуточные кадры
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);
}
// добавляем последний кадр
apngImage.AddFrame(sourceImage);
apngImage.Save();
}
}
Смотрите также
- class PngOptions
- пространство имен Aspose.Imaging.ImageOptions
- сборка Aspose.Imaging