Class ApngImage
Названий на: Aspose.Imaging.FileFormats.Apng Асамблея: Aspose.Imaging.dll (25.4.0)
Анімаційна графіка портативної мережі (Animated Portable Network Graphics)формат є різноманітним рішенням для розробників, які прагнуть інтегруватиАнімаційний контент у своїх додатках.Цей 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.Imageдля того, щоб деталі висвітлювалися цим інтуїтивним методом. ідеальний для розробниківпрагнуть динамічно поліпшити візуальну чіткість і вплив своїх зображень.
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 с піксолівПовернутись навколо цього пікселя.
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(Створення Metod, 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(ТОВАРИСТВО З ОБМЕЖЕНОЮ ВІДПОВІДАЛЬНІстю)
Введіть нову рамку в власну колекцію рамки на зазначеному індексу.Вміст нової рамки буде заповнений з зазначеного зображення.
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(ТОВАРИСТВО З ОБМЕЖЕНОЮ ВІДПОВІДАЛЬНІСТЮ)
Непростий налаштування висоти вашого зображення при збереженні його пропорційз цим інтуїтивним методом. ідеально підходить для розробників, які прагнуть відновити зображеннядинамічно, зберігаючи їх аспектний співвідношення.
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
Нові висоти .
resizeType
ResizeType
Тип рецидиву.
ResizeWidthProportionally(ТОВАРИСТВО З ОБМЕЖЕНОЮ ВІДПОВІДАЛЬНІСТЮ)
Пропорційно відрізати ширину зображення без зусиль за допомогою цього інтуїтивного методу.Ідеальний для розробників, які прагнуть зберегти аспектний відсоток своїх зображень в той час якАдаптація їх розмірів.
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()