Class ApngImage
Името на пространството: Aspose.Imaging.FileFormats.Apng Асамблея: Aspose.Imaging.dll (25.4.0)
API за анимирани PNG (анимирана портативна мрежа графика) файл на изображениетоФорматът е универсално решение за разработчиците, които искат да интегриратанимационно съдържание в техните приложения. тази API предлага широкаконтрол над настройките на рамката, което позволява на потребителите да определят специфичните рамкипараметри, включително продължителност на кръга и настройки на PNG файлове.функционално богат инструмент, можете лесно да управлявате и оптимизирате дисплеяна APNG изображения, импортиране и износ снимки, подобряване на динамиката иИнтерактивни аспекти на вашите приложения.
[JsonObject(MemberSerialization.OptIn)]
public sealed class ApngImage : RasterCachedMultipageImage, IDisposable, IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IHasXmpData, IHasMetadata, IMultipageImageExt, IMultipageImage
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← RasterImage ← RasterCachedImage ← RasterCachedMultipageImage ← ApngImage
Implements
IDisposable , IObjectWithBounds , IRasterImageArgb32PixelLoader , IRasterImageRawDataLoader , IHasXmpData , IHasMetadata , IMultipageImageExt , IMultipageImage
наследници
RasterCachedMultipageImage.AdjustBrightness(int) , RasterCachedMultipageImage.AdjustContrast(float) , RasterCachedMultipageImage.AdjustGamma(float, float, float) , RasterCachedMultipageImage.AdjustGamma(float) , RasterCachedMultipageImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedMultipageImage.BinarizeFixed(byte) , RasterCachedMultipageImage.BinarizeBradley(double, int) , RasterCachedMultipageImage.BinarizeBradley(double) , RasterCachedMultipageImage.BinarizeOtsu() , RasterCachedMultipageImage.Crop(Rectangle) , RasterCachedMultipageImage.Crop(int, int, int, int) , RasterCachedMultipageImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedMultipageImage.Grayscale() , RasterCachedMultipageImage.NormalizeHistogram() , RasterCachedMultipageImage.Rotate(float, bool, Color) , RasterCachedMultipageImage.RotateFlip(RotateFlipType) , RasterCachedMultipageImage.RotateFlipAll(RotateFlipType) , RasterCachedMultipageImage.Resize(int, int, ResizeType) , RasterCachedMultipageImage.Resize(int, int, ImageResizeSettings) , RasterCachedMultipageImage.ResizeWidthProportionally(int, ResizeType) , RasterCachedMultipageImage.ResizeHeightProportionally(int, ResizeType) , RasterCachedMultipageImage.ReplaceColor(int, byte, int) , RasterCachedMultipageImage.ReplaceNonTransparentColors(int) , RasterCachedMultipageImage.Filter(Rectangle, FilterOptionsBase) , RasterCachedMultipageImage.NormalizeAngle(bool, Color) , RasterCachedMultipageImage.CacheData() , RasterCachedMultipageImage.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , RasterCachedMultipageImage.Height , RasterCachedMultipageImage.Width , RasterCachedMultipageImage.BitsPerPixel , RasterCachedMultipageImage.IsCached , RasterCachedMultipageImage.PageCount , RasterCachedMultipageImage.Pages , RasterCachedMultipageImage.HasAlpha , RasterCachedMultipageImage.HasTransparentColor , RasterCachedMultipageImage.ImageOpacity , RasterCachedMultipageImage.BackgroundColor , RasterCachedMultipageImage.XmpData , RasterCachedMultipageImage.PageExportingAction , RasterCachedImage.CacheData() , RasterCachedImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedImage.Resize(int, int, ResizeType) , RasterCachedImage.Resize(int, int, ImageResizeSettings) , RasterCachedImage.RotateFlip(RotateFlipType) , RasterCachedImage.Rotate(float, bool, Color) , RasterCachedImage.Crop(Rectangle) , RasterCachedImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedImage.Grayscale() , RasterCachedImage.NormalizeHistogram() , RasterCachedImage.BinarizeFixed(byte) , RasterCachedImage.BinarizeOtsu() , RasterCachedImage.BinarizeBradley(double, int) , RasterCachedImage.BinarizeBradley(double) , RasterCachedImage.AdjustBrightness(int) , RasterCachedImage.AdjustContrast(float) , RasterCachedImage.AdjustGamma(float, float, float) , RasterCachedImage.AdjustGamma(float) , RasterCachedImage.IsCached , RasterImage.RemoveMetadata() , RasterImage.Save(Stream, ImageOptionsBase, Rectangle) , RasterImage.GetModifyDate(bool) , RasterImage.Dither(DitheringMethod, int) , RasterImage.Dither(DitheringMethod, int, IColorPalette) , RasterImage.GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) , RasterImage.GetDefaultArgb32Pixels(Rectangle) , RasterImage.GetDefaultRawData(Rectangle, RawDataSettings) , RasterImage.GetArgb32Pixel(int, int) , RasterImage.GetPixel(int, int) , RasterImage.SetArgb32Pixel(int, int, int) , RasterImage.SetPixel(int, int, Color) , RasterImage.ReadScanLine(int) , RasterImage.ReadArgb32ScanLine(int) , RasterImage.WriteScanLine(int, Color[]) , RasterImage.WriteArgb32ScanLine(int, int[]) , RasterImage.LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.LoadPartialPixels(Rectangle, IPartialPixelLoader) , RasterImage.LoadArgb32Pixels(Rectangle) , RasterImage.LoadArgb64Pixels(Rectangle) , RasterImage.LoadPartialArgb64Pixels(Rectangle, IPartialArgb64PixelLoader) , RasterImage.LoadPixels(Rectangle) , RasterImage.LoadCmykPixels(Rectangle) , RasterImage.LoadCmyk32Pixels(Rectangle) , RasterImage.LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.SaveRawData(byte[], int, Rectangle, RawDataSettings) , RasterImage.SaveArgb32Pixels(Rectangle, int[]) , RasterImage.SavePixels(Rectangle, Color[]) , RasterImage.SaveCmykPixels(Rectangle, CmykColor[]) , RasterImage.SaveCmyk32Pixels(Rectangle, int[]) , RasterImage.SetResolution(double, double) , RasterImage.SetPalette(IColorPalette, bool) , RasterImage.Resize(int, int, ImageResizeSettings) , RasterImage.Rotate(float, bool, Color) , RasterImage.Rotate(float) , RasterImage.BinarizeFixed(byte) , RasterImage.BinarizeOtsu() , RasterImage.BinarizeBradley(double) , RasterImage.BinarizeBradley(double, int) , RasterImage.Blend(Point, RasterImage, Rectangle, byte) , RasterImage.Blend(Point, RasterImage, byte) , RasterImage.Grayscale() , RasterImage.NormalizeHistogram() , RasterImage.AdjustBrightness(int) , RasterImage.AdjustContrast(float) , RasterImage.AdjustGamma(float, float, float) , RasterImage.AdjustGamma(float) , RasterImage.GetSkewAngle() , RasterImage.NormalizeAngle() , RasterImage.NormalizeAngle(bool, Color) , RasterImage.Filter(Rectangle, FilterOptionsBase) , RasterImage.ReplaceColor(Color, byte, Color) , RasterImage.ReplaceColor(int, byte, int) , RasterImage.ReplaceNonTransparentColors(Color) , RasterImage.ReplaceNonTransparentColors(int) , RasterImage.ToBitmap() , RasterImage.PremultiplyComponents , RasterImage.UseRawData , RasterImage.UpdateXmpData , RasterImage.XmpData , RasterImage.RawIndexedColorConverter , RasterImage.RawCustomColorConverter , RasterImage.RawFallbackIndex , RasterImage.RawDataSettings , RasterImage.UsePalette , RasterImage.RawDataFormat , RasterImage.RawLineSize , RasterImage.IsRawDataAvailable , RasterImage.HorizontalResolution , RasterImage.VerticalResolution , RasterImage.HasTransparentColor , RasterImage.HasAlpha , RasterImage.TransparentColor , RasterImage.ImageOpacity , Image.CanLoad(string) , Image.CanLoad(string, LoadOptions) , Image.CanLoad(Stream) , Image.CanLoad(Stream, LoadOptions) , Image.Create(ImageOptionsBase, int, int) , Image.Create(Image[]) , Image.Create(MultipageCreateOptions) , Image.Create(string[], bool) , Image.Create(string[]) , Image.Create(Image[], bool) , Image.GetFileFormat(string) , Image.GetFileFormat(Stream) , Image.GetFittingRectangle(Rectangle, int, int) , Image.GetFittingRectangle(Rectangle, int[], int, int) , Image.Load(string, LoadOptions) , Image.Load(string) , Image.Load(Stream, LoadOptions) , Image.Load(Stream) , Image.GetProportionalWidth(int, int, int) , Image.GetProportionalHeight(int, int, int) , Image.RemoveMetadata() , Image.CanSave(ImageOptionsBase) , Image.Resize(int, int) , Image.Resize(int, int, ResizeType) , Image.Resize(int, int, ImageResizeSettings) , Image.GetDefaultOptions(object[]) , Image.GetOriginalOptions() , Image.ResizeWidthProportionally(int) , Image.ResizeHeightProportionally(int) , Image.ResizeWidthProportionally(int, ResizeType) , Image.ResizeHeightProportionally(int, ResizeType) , Image.ResizeWidthProportionally(int, ImageResizeSettings) , Image.ResizeHeightProportionally(int, ImageResizeSettings) , Image.RotateFlip(RotateFlipType) , Image.Rotate(float) , Image.Crop(Rectangle) , Image.Crop(int, int, int, int) , Image.Save() , Image.Save(string) , Image.Save(string, ImageOptionsBase) , Image.Save(string, ImageOptionsBase, Rectangle) , Image.Save(Stream, ImageOptionsBase) , Image.Save(Stream, ImageOptionsBase, Rectangle) , Image.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , Image.SetPalette(IColorPalette, bool) , Image.BitsPerPixel , Image.Bounds , Image.Container , Image.Height , Image.Palette , Image.UsePalette , Image.Size , Image.Width , Image.InterruptMonitor , Image.BufferSizeHint , Image.AutoAdjustPalette , Image.HasBackgroundColor , Image.FileFormat , Image.BackgroundColor , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.Disposed , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
Примерът по-долу показва как да експортирате APNG файлов формат от друг неанимиран мулти-страничен формат.
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using (Image image = Image.Load("img4.tif")) {
// Setting up the default frame duration
image.Save("img4.tif.500ms.png", new ApngOptions() { DefaultFrameTime = 500 }); // 500 ms
image.Save("img4.tif.250ms.png", new ApngOptions() { DefaultFrameTime = 250 }); // 250 ms
}
Следващият пример показва как да се експортира към формат на файла APNG.
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using (Image image = Image.Load("Animation1.webp")) {
// Export to APNG animation with unlimited animation cycles as default
image.Save("Animation1.webp.png", new ApngOptions());
// Setting up animation cycles
image.Save("Animation2.webp.png", new ApngOptions() { NumPlays = 5 }); // 5 cycles
}
Примерът по-долу показва как да се създаде APNG изображение от друга растер еднострани изображения.
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.FileFormats.Apng;
const int AnimationDuration = 1000; // 1 s
const int FrameDuration = 70; // 70 ms
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))
{
// It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;
int numOfFrames = AnimationDuration / FrameDuration;
int numOfFrames2 = numOfFrames / 2;
// Cleaning because the image contains one frame by default
apngImage.RemoveAllFrames();
// add first frame
apngImage.AddFrame(sourceImage);
// add intermediate frames
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);
}
// add last frame
apngImage.AddFrame(sourceImage);
apngImage.Save();
}
}
Constructors
ApngImage(Източник: Int, Int)
Започнете да работите с Aspose.Imaging.FileFormats.Apng. ApngImage клас, като стартиратеИдеален за разработчиците, които искат да започнатИзползвайте ApngImage обекти бързо и ефективно в техните проекти.
public ApngImage(ApngOptions options, int width, int height)
Parameters
options
ApngOptions
и възможностите.
width
int
и ширината.
height
int
на височината.
Properties
DefaultFrameTime
Лесно се коригира стандартната продължителност на рамката, за да се създадат нови рамки сТова е гъвкаво свойство. Идеално за разработчиците, които искат да персонализират рамковото времеЕфективно в анимациите.
public uint DefaultFrameTime { get; set; }
стойност на имота
Examples
Примерът по-долу показва как да се създаде APNG изображение от друга растер еднострани изображения.
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.FileFormats.Apng;
const int AnimationDuration = 1000; // 1 s
const int FrameDuration = 70; // 70 ms
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))
{
// It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;
int numOfFrames = AnimationDuration / FrameDuration;
int numOfFrames2 = numOfFrames / 2;
// Cleaning because the image contains one frame by default
apngImage.RemoveAllFrames();
// add first frame
apngImage.AddFrame(sourceImage);
// add intermediate frames
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);
}
// add last frame
apngImage.AddFrame(sourceImage);
apngImage.Save();
}
}
FileFormat
Бърз достъп до информация за файлов формат с тази удобна собственост.Идеален за разработчици, които трябва да получат подробности за форматаИзтегляне на файловете на APNG лесно.
public override FileFormat FileFormat { get; }
стойност на имота
Interlaced
Бързо да се определи дали този Aspose.Imaging.FileFormats.Png. PngImage обект е свързанс тази удобна собственост. Идеален за разработчиците, които трябва да проверяватсъстоянието на взаимосвързване на PNG изображения лесно.
public bool Interlaced { get; }
стойност на имота
NumPlays
Неуспешно контролирайте броя на пъти, когато анимацията ви се движи с товаРазнообразна собственост. Идеален за разработчици, които търсят точен контрол наданимационно поведение, с подкрепа за безкрайно въртене в случай наСтойността е равна на 0.
public int NumPlays { get; set; }
стойност на имота
PageCount
Възстановяване на общия брой страници във вашия файл за изображение без усилия с тази собственост.Идеален за разработчиците, които се нуждаят от бърз достъп до информация за броя на страници.
public override int PageCount { get; }
стойност на имота
Pages
Безпроблемно достъп до страниците на вашата картина с тази удобна собственост.Идеален за разработчици, които търсят бърз и лесен достъп до отделните страници за манипулация.
public override Image[] Pages { get; }
стойност на имота
Image []
XmpData
Неуспешно управление на XMP метаданни, свързани с вашите файлове с помощта на товаРазнообразна собственост. Идеален за разработчици, които търсят достъп или актуализацияИнформацията за метаданните е лесна.
public override XmpPacketWrapper XmpData { get; set; }
стойност на имота
Methods
AddFrame()
Лесно прикрепете нова рамка към края на вашата колекция от рамки с тазиИдеален за разработчиците, които искат да разширят своитеФрейм колекция динамично за анимации с мулти-фреми изображения.Ще бъде създадена нова рамка в зависимост от размера на текущото изображение.
public ApngFrame AddFrame()
Returns
Новосъздадената APNG рамка.
AddFrame(RasterImage)
Неуспешно разширяване на вашата рамкова колекция чрез добавяне на нова рамка към краяс този интуитивен метод. Идеален за разработчиците, които се стремят да подобрят своитеАнимация на мулти-фрейм изображения динамично.Съдържанието на новата рамка ще бъде попълнено от посочената картина.
public void AddFrame(RasterImage frameImage)
Parameters
frameImage
RasterImage
Изображение на рамката.
Examples
Примерът по-долу показва как да се създаде APNG изображение от друга растер еднострани изображения.
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.FileFormats.Apng;
const int AnimationDuration = 1000; // 1 s
const int FrameDuration = 70; // 70 ms
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))
{
// It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;
int numOfFrames = AnimationDuration / FrameDuration;
int numOfFrames2 = numOfFrames / 2;
// Cleaning because the image contains one frame by default
apngImage.RemoveAllFrames();
// add first frame
apngImage.AddFrame(sourceImage);
// add intermediate frames
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);
}
// add last frame
apngImage.AddFrame(sourceImage);
apngImage.Save();
}
}
Exceptions
Фреймът е нула.
AddFrame(Снимка, Уинт)
Разширявайте колекцията си от рамки безсилно, като приложите нова рамка къмс този интуитивен метод. идеален за разработчиците, които искат да обогатят своитеАнимация на мулти-фрейм изображения.Съдържанието на новата рамка ще бъде попълнено от посочената картина.
public void AddFrame(RasterImage frameImage, uint frameTime)
Parameters
frameImage
RasterImage
Изображение на рамката.
frameTime
uint
Продължителността на рамката в милисекунди.
Exceptions
Фреймът е нула.
AddPage(RasterImage)
Добавете нова страница към изображението без усилия с този интуитивен метод.Идеален за разработчици, които се стремят да разширят съдържанието на своите файлове за изображения динамично.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
Страница за добавяне.
Exceptions
page’ is null.
AdjustBrightness(инт)
Лесно приспособяване на яркостта на изображението с този интуитивен метод, използвайки посочения параметър на светлината. Идеален за разработчици, които се стремят да подобрят или намалят общата ярност на снимките динамично.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Стойност на яркостта.
AdjustContrast(Флота)
Подобряване на контраста на Aspose.Imaging.Снимказа да направят детайлите да се открояват с този интуитивен метод. Идеален за разработчицитестремеж да се подобри визуалната яснота и въздействието на техните изображения динамично.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Контрастна стойност (в диапазон [-100; 100])
AdjustGamma(Флота)
Използвайте корекция на гамата към изображението с помощта на коефициент за плаваща точкаИдеален за разработчици, които търсят точен контрол на цветав техните изображения.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Гама за червени, зелени и сини канали коефициент
AdjustGamma(плавател, плавател, плавател)
Извършване на гама корекция на изображението отделно за червените, зелените и сините каналиизползването на индивидуални коефициенти с този интуитивен метод. Идеален за разработчиците, които търсятза фино-тун цвят баланс и подобряване на визуалното качество на техните изображения.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Гама за коефициент на червения канал
gammaGreen
float
Гама за зеления канал коефициент
gammaBlue
float
Гама за синия канал коефициент
BinarizeBradley(Двойна, инт)
Бинаризация на изображението с помощта на адаптивния алгоритъм на Брадли, използвайки интегрираното изображение.
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
Разликата в яркостта между пиксела и средната стойност на прозореца с x s на pixelsВърху този пиксел.
windowSize
int
Размерът на прозореца с x с на пикселите, които се фокусират около този пикъл
BinarizeFixed(Бийт)
Неуспешно бинарнизиране на изображението с помощта на предварително дефиниран праг с товаИнтуитивен метод. идеален за разработчици, които искат да конвертират изображенията в бинарна форма,да ги опростяват за по-нататъшна обработка или анализ.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Ако съответната сива стойност на пиксел е по-голяма от прага, стойността на255 ще бъдат разпределени към него, 0 по друг начин.
BinarizeOtsu()
Извършване на бинарност на изображението с помощта на Otsu рамка с този интуитивен метод.Идеален за разработчици, които се стремят автоматично да определят оптималния праг заПреобразуване на изображенията в бинарна форма, подобряване на тяхната яснота и уместност за по-нататъшен анализ.
public override void BinarizeOtsu()
Crop(Rectangle)
Неуспешно отглеждате изображението, за да се съсредоточите върху конкретни области с този интуитивен метод.Идеален за разработчици, които се стремят да преработят състава на своите изображения динамично.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
на правоъгълника.
Crop(Инт, инт, инт, инт)
Растете изображението, докато коригирате промените безкрайно с този интуитивен метод.Идеален за разработчици, които търсят точен контрол върху процеса на отглежданеда се съсредоточи върху специфичните области на своите Apng изображения.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
Вляво се сменя.
rightShift
int
правилната промяна.
topShift
int
На върха на промяната.
bottomShift
int
Долната промяна.
Dither(ДитърингMethod, int, IColorPalette)
Лесно се прилагат ефектите на дитиране към текущата картина с този интуитивен метод.Идеален за разработчици, които искат да добавят текстура или да намалят цветните връзки в своите изображения.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Методът на дистрибуция.
bitsCount
int
Последните битове се броят за дитиране.
customPalette
IColorPalette
Палетата е предназначена за дитиране.
Filter(Филтриране, FilterOptionsBase)
Неуспешно се прилагат филтри към посочения правоъгълник на изображението с товаИнтуитивен метод. Идеален за разработчици, които се стремят да подобрят или модифицират специфични области.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
на правоъгълника.
options
FilterOptionsBase
и възможностите.
GetDefaultOptions(Обект[])
Възстановяване на поддръжните опции без усилия с този прост метод.Идеален за разработчици, които търсят бърз достъп до стандартните настройки на изображението Apng.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[]
и аргументите.
Returns
Дефинирани опции
GetModifyDate(Боул)
Бързо да получите датата и времето, когато изображението на ресурса е последно модифицираноИдеален за разработчиците, които трябва да проследяват променитеЕфективно управление на ресурсите.
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
ако сте зададени на “истински”, използвайте информацията от FileInfo като стандартна стойност.
Returns
Датата и времето на изображението на ресурса е последната промяна.
GetOriginalOptions()
Възстановяване на опции въз основа на оригиналните настройки на файла без усилия с този интуитивен метод.Идеален за разработчици, които търсят достъп и използване на настройки, съобразени с характеристикитеОт оригиналния файл.Това може да бъде полезно, за да се запази битовата дълбочина и други параметри на оригиналната картина непроменени.Например, ако зареждаме черно-бяло PNG изображение с 1 бит на пиксел и след това го съхраняваме с помощта наAspose.Imaging.DataStreamSupporter.Save(System.String) метод, изходната PNG изображение с 8 бита на пиксел ще бъде произведена.За да избегнете това и да спестите PNG изображение с 1-бит на пиксел, използвайте този метод, за да получите съответните възможности за спестяване и ги прехвърлитена метода Aspose.Imaging.Image.Save(System.String,_Wl17.ImageOptionsBase) като втори параметър.
public override ImageOptionsBase GetOriginalOptions()
Returns
Опциите се основават на първоначалните настройки на файла.
GetPagesAsEnumerable()
Вземете страниците като изброяеми.
protected override IEnumerable<image/> GetPagesAsEnumerable()
Returns
IEnumerable < Image >
Собствените страници като изброеми.
Grayscale()
Лесно преобразуване на изображението в негова грейскално представяне с този интуитивен метод.Идеален за разработчици, които се стремят да конвертират цветни изображения в сива скала, опростявайки тяхнатаВизуализиране или анализ на процесите.
public override void Grayscale()
InsertFrame(инт)
Неуспешно въведете нова рамка във вашата колекция от рамки в посоченатас този интуитивен метод. идеален за разработчици, които търсят точен контрол надУстройството на рамките в техните анимации на мулти-рамни изображения.Ще бъде създадена нова рамка в зависимост от размера на текущото изображение.
public ApngFrame InsertFrame(int index)
Parameters
index
int
Индексът е
Returns
Новосъздадената APNG рамка.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
InsertFrame(Създаване на RasterImage)
Въведете нова рамка в собствена рамкова колекция на посочения индекс.Съдържанието на новата рамка ще бъде попълнено от посочената картина.
public void InsertFrame(int index, RasterImage frameImage)
Parameters
index
int
Индексът е
frameImage
RasterImage
Изображение на рамката.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
Фреймът е нула.
InsertFrame(Истината е, че Уинт)
Въведете нова рамка в собствена рамкова колекция на посочения индекс.Съдържанието на новата рамка ще бъде попълнено от посочената картина.
public void InsertFrame(int index, RasterImage frameImage, uint frameTime)
Parameters
index
int
Индексът е
frameImage
RasterImage
Изображение на рамката.
frameTime
uint
Продължителността на рамката в милисекунди.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
Фреймът е нула.
PopFrameAt(инт)
Премахване и извличане на рамката на посочения индекс от вашата колекция от рамкис този интуитивен метод. Идеален за разработчици, които търсят ефективно управлениеВ него има кадри в анимациите.
public ApngFrame PopFrameAt(int index)
Parameters
index
int
Индексът е
Returns
Премахване на APNG рамката.
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ReleaseManagedResources()
Уверете се, че не управлявани ресурси не се освобождават тук, тъй като те може да са билиВече е освободен.
protected override void ReleaseManagedResources()
RemoveAllFrames()
Разчистете колекцията на рамката, като премахнете всички рамки с този интуитивен метод.Идеален за разработчици, които се стремят да пренастроят или обновяват анимациите си.
public void RemoveAllFrames()
Examples
Примерът по-долу показва как да се създаде APNG изображение от друга растер еднострани изображения.
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.FileFormats.Apng;
const int AnimationDuration = 1000; // 1 s
const int FrameDuration = 70; // 70 ms
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))
{
// It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;
int numOfFrames = AnimationDuration / FrameDuration;
int numOfFrames2 = numOfFrames / 2;
// Cleaning because the image contains one frame by default
apngImage.RemoveAllFrames();
// add first frame
apngImage.AddFrame(sourceImage);
// add intermediate frames
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);
}
// add last frame
apngImage.AddFrame(sourceImage);
apngImage.Save();
}
}
RemoveFrameAt(инт)
Премахване на рамката на посочения индекс от вашата колекция от рамки безкрайноИдеален за разработчици, които търсят по-ефективно управление на рамкитеВ многофункционалните им изображения.Рамката, която трябва да бъде изтрита, ще бъде премахната.
public void RemoveFrameAt(int index)
Parameters
index
int
Индексът е
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ResetDefaultImage()
Премахване на предварително зададена изображение с този интуитивен метод.Идеален за разработчици, които се опитват да презастроят или изчистят предварителното изображение в анимацията си.След това предварителното изображение е първата рамка в собствена колекция от рамки.(Това не може да бъде изтрито с помощта на този метод).
public void ResetDefaultImage()
Resize(Инт, инт и резистент)
Непрекъснато рециклиране на изображението с този интуитивен метод. перфектен за разработчициОпитвайки се да приспособим димензиите на техните изображения динамично.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
Новата ширина.
newHeight
int
Новата височина.
resizeType
ResizeType
Типът на възстановяване.
Resize(Инт, инт и ImageResizeSettings)
Рециклира изображението.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
Новата ширина.
newHeight
int
Новата височина.
settings
ImageResizeSettings
Изтегляне на настройките.
ResizeHeightProportionally(Изтегляне, ResizeType)
Неуспешно да регулирате височината на изображението си, като същевременно поддържате пропорциите мус този интуитивен метод. Идеален за разработчиците, които търсят да рециклират изображениятадинамично, като същевременно се запазва тяхното аспектно съотношение.
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
Новата височина.
resizeType
ResizeType
Тип на възстановяване.
ResizeWidthProportionally(Изтегляне, ResizeType)
Пропорционално рециклирайте ширината на изображението без усилия с този интуитивен метод.Идеален за разработчици, които се стремят да поддържат аспектното съотношение на техните изображения, докатоАдаптиране на техните измерения.
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)
Parameters
newWidth
int
Новата ширина.
resizeType
ResizeType
Тип на възстановяване.
Rotate(Флоат, Боол, Цвет)
Обръщайте изображението около центъра си без усилия с този интуитивен метод.Идеален за разработчици, които се стремят да адаптират динамично ориентацията на своите изображения.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
Позитивните стойности ще се въртят по часовника.
resizeProportionally
bool
ако сте зададени на “истински”, ще промените размера на изображението си в съответствие с въртящите се правоъгълни (коренни точки) проекции в други случаи, които оставят измеренията без докосване и само вътрешното съдържание на снимката се върти.
backgroundColor
Color
Цветът на фона.
RotateFlip(RotateFlipType)
Неуспешно манипулирайте активната рамка, като ротирате, флипирате или и двете.с този интуитивен метод. идеален за разработчици, които искат да персонализиратОриентация на изображението.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Типът на ротирания флип.
SaveData(Stream)
Съхранява данните.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Потокът за съхранение на данните.
SetDefaultImage(RasterImage)
Настройване на посоченото изображение на растер като подразбиране на изображението за текущата анимациябезпроблемно с този метод. Идеален за разработчиците, които искат да персонализиратПредварително изображение в анимациите им.
public void SetDefaultImage(RasterImage image)
Parameters
image
RasterImage
Името е.
Exceptions
Снимката е нула.
UpdateDimensions(в, в)
Актуализирайте измеренията на изображението.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Новото изображение с широчина.
newHeight
int
Новата снимка е на височина.
UpdateMetadata()
Актуализирайте метаданните на изображението.
protected override void UpdateMetadata()