ApngImage
Содержание
[
Скрывать
]ApngImage class
Анимированное изображение PNG.
public sealed class ApngImage : RasterCachedMultipageImage, IMultipageImageExt
Конструкторы
| Имя | Описание |
|---|---|
| ApngImage(ApngOptions, int, int) | Инициализирует новый экземплярApngImage класс. |
Характеристики
| Имя | Описание |
|---|---|
| AutoAdjustPalette { get; set; } | Получает или задает значение, указывающее, следует ли автоматически настраивать палитру. |
| override BackgroundColor { get; set; } | Получает или задает значение цвета фона. |
| override BitsPerPixel { get; } | Получает количество бит изображения на пиксель. |
| Bounds { get; } | Получает границы изображения. |
| BufferSizeHint { get; set; } | Получает или задает подсказку о размере буфера, которая определяет максимально допустимый размер для всех внутренних буферов. |
| Container { get; } | ПолучаетImage контейнер. |
| DataStreamContainer { get; } | Получает поток данных объекта. |
| DefaultFrameTime { get; set; } | Получает или задает длительность кадра по умолчанию. Используется при создании новых кадров. |
| Disposed { get; } | Получает значение, указывающее, удален ли этот экземпляр. |
| override FileFormat { get; } | Получает значение формата файла |
| override HasAlpha { get; } | Получает значение, указывающее, есть ли у этого экземпляра альфа. |
| virtual HasBackgroundColor { get; set; } | Получает или задает значение, указывающее, имеет ли изображение фоновый цвет. |
| override HasTransparentColor { get; } | Получает значение, указывающее, имеет ли изображение прозрачный цвет. |
| override Height { get; } | Получает высоту изображения. |
| virtual HorizontalResolution { get; set; } | Получает или задает горизонтальное разрешение в пикселях на дюйм для этогоRasterImage . |
| override ImageOpacity { get; } | Получает непрозрачность этого изображения. |
| Interlaced { get; } | Получает значение, указывающее, является ли этоPngImage чересстрочная развертка. |
| InterruptMonitor { get; set; } | Получает или устанавливает монитор прерываний. |
| IsCached { get; } | Получает значение, указывающее, кэшируются ли в данный момент данные изображения. |
| IsRawDataAvailable { get; } | Получает значение, указывающее, доступна ли загрузка необработанных данных. |
| NumPlays { get; set; } | Получает или задает количество циклов анимации. 0 указывает на бесконечный цикл. |
| override PageCount { get; } | Получает количество страниц. |
| override PageExportingAction { get; set; } | Получает или задает действие экспорта страницы. Обратите внимание, что установка этого метода автоматически освобождает ресурсы страницы после его выполнения. Он будет выполняться непосредственно перед сохранением каждой страницы. |
| override Pages { get; } | Получает страницы. |
| Palette { get; set; } | Получает или задает цветовую палитру. Цветовая палитра не используется, когда пиксели представлены напрямую. |
| virtual PremultiplyComponents { get; set; } | Получает или задает значение, указывающее, должны ли компоненты изображения предварительно умножаться. |
| RawCustomColorConverter { get; set; } | Получает или задает пользовательский конвертер цветов |
| virtual RawDataFormat { get; } | Получает формат необработанных данных. |
| RawDataSettings { get; } | Получает текущие настройки необработанных данных. Обратите внимание, что при использовании этих настроек данные загружаются без преобразования. |
| RawFallbackIndex { get; set; } | Получает или задает резервный индекс для использования, когда индекс палитры выходит за пределы |
| RawIndexedColorConverter { get; set; } | Получает или задает преобразователь индексированных цветов |
| virtual RawLineSize { get; } | Получает исходный размер строки в байтах. |
| Size { get; } | Получает размер изображения. |
| virtual TransparentColor { get; set; } | Получает прозрачный цвет изображения. |
| virtual UpdateXmpData { get; set; } | Получает или задает значение, указывающее, следует ли обновлять метаданные XMP. |
| override UsePalette { get; } | Получает значение, указывающее, используется ли палитра изображения. |
| virtual UseRawData { get; set; } | Получает или задает значение, указывающее, следует ли использовать загрузку необработанных данных, когда доступна загрузка необработанных данных. |
| virtual VerticalResolution { get; set; } | Получает или задает разрешение по вертикали в пикселях на дюйм этогоRasterImage . |
| override Width { get; } | Получает ширину изображения. |
| override XmpData { get; set; } | Получает или задает метаданные XMP. |
Методы
| Имя | Описание |
|---|---|
| AddFrame() | Добавляет новый кадр в конец собственной коллекции кадров. Новый кадр будет создан в соответствии с размером текущего изображения. |
| AddFrame(RasterImage) | Добавляет новый кадр в конец собственной коллекции кадров. Содержимое нового кадра будет заполнено из указанного изображения. |
| AddFrame(RasterImage, uint) | Добавляет новый кадр в конец собственной коллекции кадров. Содержимое нового кадра будет заполнено из указанного изображения. |
| AddPage(RasterImage) | Добавляет страницу к изображению. |
| override AdjustBrightness(int) | Настройкаbrightness для изображения. |
| override AdjustContrast(float) | Image контрастный |
| override AdjustGamma(float) | Гамма-коррекция изображения. |
| override AdjustGamma(float, float, float) | Гамма-коррекция изображения. |
| override BinarizeBradley(double) | Бинаризация изображения с использованием алгоритма адаптивной пороговой обработки Брэдли с использованием интегрального порогового значения изображения |
| override BinarizeBradley(double, int) | Бинаризация изображения с использованием алгоритма адаптивной пороговой обработки Брэдли с использованием интегрального порогового значения изображения |
| override BinarizeFixed(byte) | Бинаризация изображения с заданным порогом |
| override BinarizeOtsu() | Бинаризация изображения с пороговым значением Otsu |
| override CacheData() | Кэширует приватные данные. |
| CanSave(ImageOptionsBase) | Определяет, можно ли сохранить изображение в указанном формате файла, представленном переданными параметрами сохранения. |
| override Crop(Rectangle) | Обрезка изображения. |
| override Crop(int, int, int, int) | Обрезать изображение со сдвигами. |
| Dispose() | Удаляет текущий экземпляр. |
| Dither(DitheringMethod, int) | Выполняет сглаживание текущего изображения. |
| override Dither(DitheringMethod, int, IColorPalette) | Выполняет сглаживание текущего изображения. |
| override Filter(Rectangle, FilterOptionsBase) | Фильтрует указанный прямоугольник. |
| GetArgb32Pixel(int, int) | Получает изображение 32-битного пикселя ARGB. |
| GetDefaultArgb32Pixels(Rectangle) | Получает массив 32-битных пикселей ARGB по умолчанию. |
| override GetDefaultOptions(object[]) | Получает параметры по умолчанию. |
| GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) | Получает массив пикселей по умолчанию с помощью частичной загрузки пикселей. |
| GetDefaultRawData(Rectangle, RawDataSettings) | Получает массив необработанных данных по умолчанию. |
| GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) | Получает массив необработанных данных по умолчанию с использованием частичной загрузки пикселей. |
| override GetModifyDate(bool) | Получает дату и время последнего изменения образа ресурса. |
| override GetOriginalOptions() | Получает параметры, основанные на настройках исходного файла. Это может быть полезно для сохранения без изменений битовой глубины и других параметров исходного изображения. Например, если мы загружаем черно-белое изображение PNG с 1 битом на пиксель, а затем сохраните его, используя the Save будет создано выходное изображение PNG с 8 битами на пиксель. Чтобы избежать этого и сохранить изображение PNG с 1 битом на пиксель, используйте этот метод, чтобы получить соответствующие параметры сохранения и передать их Save метод в качестве второго параметра. |
| GetPixel(int, int) | Получает пиксель изображения. |
| GetSkewAngle() | Получает угол наклона. Этот метод применим к отсканированным текстовым документам для определения угла наклона при сканировании. |
| override Grayscale() | Преобразование изображения в его представление в градациях серого |
| InsertFrame(int) | Вставляет новый кадр в собственную коллекцию кадров по указанному индексу. Новый кадр будет создан в соответствии с размером текущего изображения. |
| InsertFrame(int, RasterImage) | Вставляет новый кадр в собственную коллекцию кадров по указанному индексу. Содержимое нового кадра будет заполнено из указанного изображения. |
| InsertFrame(int, RasterImage, uint) | Вставляет новый кадр в собственную коллекцию кадров по указанному индексу. Содержимое нового кадра будет заполнено из указанного изображения. |
| LoadArgb32Pixels(Rectangle) | Загружает 32-битные пиксели ARGB. |
| LoadArgb64Pixels(Rectangle) | Загружает 64-битные пиксели ARGB. |
| LoadCmyk32Pixels(Rectangle) | Загружает пиксели в формате CMYK. |
| LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) | Загружает 32-битные пиксели ARGB частично по пакетам. |
| LoadPartialPixels(Rectangle, IPartialPixelLoader) | Загружает пиксели частично пачками. |
| LoadPixels(Rectangle) | Загружает пиксели. |
| LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) | Загружает необработанные данные. |
| LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) | Загружает необработанные данные. |
| NormalizeAngle() | Нормализует угол. Этот метод применим к отсканированным текстовым документам, чтобы избавиться от перекоса сканирования. Этот метод используетGetSkewAngle а такжеRotate методы. |
| override NormalizeAngle(bool, Color) | Нормализует угол. Этот метод применим к отсканированным текстовым документам, чтобы избавиться от перекоса сканирования. Этот метод использует!:GetSkewAngle а такжеRotate методы. |
| PopFrameAt(int) | Удаляет и возвращает кадр по указанному индексу из собственной коллекции кадров. |
| ReadArgb32ScanLine(int) | Считывает всю строку сканирования по указанному индексу строки сканирования. |
| ReadScanLine(int) | Считывает всю строку сканирования по указанному индексу строки сканирования. |
| RemoveAllFrames() | Удаляет все кадры из собственной коллекции кадров. |
| RemoveFrameAt(int) | Удаляет фрейм по указанному индексу из собственной коллекции фреймов. Удаляемый фрейм будет удален. |
| ReplaceColor(Color, byte, Color) | Заменяет один цвет другим с допустимой разницей и сохраняет исходное значение альфа-канала для сохранения сглаженных краев. |
| override ReplaceColor(int, byte, int) | Заменяет один цвет другим с допустимой разницей и сохраняет исходное значение альфа-канала для сохранения сглаженных краев. |
| ReplaceNonTransparentColors(Color) | Заменяет все непрозрачные цвета новым цветом и сохраняет исходное значение альфа-канала для сохранения гладких краев. Примечание: если вы используете его на изображениях без прозрачности, все цвета будут заменены одним цветом. |
| override ReplaceNonTransparentColors(int) | Заменяет все непрозрачные цвета новым цветом и сохраняет исходное значение альфа-канала для сохранения гладких краев. Примечание: если вы используете его на изображениях без прозрачности, все цвета будут заменены одним цветом. |
| ResetDefaultImage() | Удаляет ранее установленное изображение по умолчанию. После этого изображение по умолчанию является первым кадром в собственной коллекции кадров (его нельзя удалить этим методом). |
| Resize(int, int) | Изменяет размер изображения. По умолчаниюNearestNeighbourResample используется. |
| override Resize(int, int, ImageResizeSettings) | Изменяет размер изображения. |
| override Resize(int, int, ResizeType) | Изменяет размер изображения. |
| ResizeHeightProportionally(int) | Изменяет размер высоты пропорционально. По умолчаниюNearestNeighbourResample используется. |
| virtual ResizeHeightProportionally(int, ImageResizeSettings) | Изменяет размер высоты пропорционально. |
| override ResizeHeightProportionally(int, ResizeType) | Изменяет ширину пропорционально. |
| ResizeWidthProportionally(int) | Изменяет ширину пропорционально. По умолчаниюNearestNeighbourResample используется. |
| virtual ResizeWidthProportionally(int, ImageResizeSettings) | Изменяет ширину пропорционально. |
| override ResizeWidthProportionally(int, ResizeType) | Изменяет ширину пропорционально. |
| virtual Rotate(float) | Повернуть изображение вокруг центра. |
| override Rotate(float, bool, Color) | !:RasterCahcedMultipageImage.Rotate изображение вокруг центра. |
| override RotateFlip(RotateFlipType) | Вращает, переворачивает или вращает и переворачивает только активный кадр. |
| Save() | Сохраняет данные изображения в базовый поток. |
| Save(Stream) | Сохраняет данные объекта в указанный поток. |
| override Save(string) | Сохраняет изображение в указанном месте файла. |
| Save(Stream, ImageOptionsBase) | Сохраняет данные изображения в указанный поток в указанном формате файла в соответствии с параметрами сохранения. |
| virtual Save(string, bool) | Сохраняет данные объекта в указанном месте файла. |
| virtual Save(string, ImageOptionsBase) | Сохраняет данные объекта в указанном месте файла в указанном формате файла в соответствии с параметрами сохранения. |
| override Save(Stream, ImageOptionsBase, Rectangle) | Сохраняет данные изображения в указанный поток в указанном формате файла в соответствии с параметрами сохранения. |
| virtual Save(string, ImageOptionsBase, Rectangle) | Сохраняет данные объекта в указанном месте файла в указанном формате файла в соответствии с параметрами сохранения. |
| SaveArgb32Pixels(Rectangle, int[]) | Сохраняет 32-битные пиксели ARGB. |
| SaveCmyk32Pixels(Rectangle, int[]) | Сохраняет пиксели. |
| SavePixels(Rectangle, Color[]) | Сохраняет пиксели. |
| SaveRawData(byte[], int, Rectangle, RawDataSettings) | Сохраняет необработанные данные. |
| SetArgb32Pixel(int, int, int) | Устанавливает 32-битный пиксель изображения ARGB для указанной позиции. |
| SetDefaultImage(RasterImage) | Устанавливает указанное растровое изображение в качестве изображения по умолчанию для текущей анимации. |
| override SetPalette(IColorPalette, bool) | Задает палитру изображения. |
| SetPixel(int, int, Color) | Устанавливает пиксель изображения для указанной позиции. |
| virtual SetResolution(double, double) | Устанавливает разрешение для этогоRasterImage . |
| virtual ToBitmap() | Преобразует растровое изображение в растровое. |
| WriteArgb32ScanLine(int, int[]) | Записывает всю строку сканирования в указанный индекс строки сканирования. |
| WriteScanLine(int, Color[]) | Записывает всю строку сканирования в указанный индекс строки сканирования. |
Примеры
В следующем примере показано, как экспортировать файл 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 RasterCachedMultipageImage
- interface IMultipageImageExt
- пространство имен Aspose.Imaging.FileFormats.Apng
- сборка Aspose.Imaging