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