Class ApngImage
Именује се: Aspose.Imaging.FileFormats.Apng Асамблеја: Aspose.Imaging.dll (25.4.0)
АПИ за анимиране ПНГ (анимирана преносива мрежа графике) слике датотекеформат је универзално решење за програмери који желе да интегришуанимирани садржај у њихове апликације.Овај АПИ нуди широкконтроле над подешавањама оквира, омогућавајући корисницима да дефинишу специфичне оквирепараметри, укључујући трајање круга и подешавања ПНГ датотеке.богатог алата, можете без напора управљати и оптимизовати екранАПНГ слике, увоз и извоз слика, побољшавајући динамику иИнтерактивни аспекти ваше апликације.
[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
Следећи пример показује како извозити формат АПНГ датотеке из другог не-анимираног мулти-страница формата.
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
}
Следећи пример показује како извозити у АПНГ формат датотеке.
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
}
Следећи пример показује како да креирате АПНГ слику из другог растер-јединствене слике.
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(Апгоптионс, инт, Инт)
Počnite da radite sa Aspose.Imaging.FileFormats.Apng. ApngImage razredom inicijalizovanjemнова инстанција без напора. савршено за програмери који желе да почнукористећи ApngImage објекте брзо и ефикасно у својим пројектима.
public ApngImage(ApngOptions options, int width, int height)
Parameters
options
ApngOptions
о опцијама .
width
int
То је ширина.
height
int
То је висина.
Properties
DefaultFrameTime
Једноставно прилагођавање дужине подразумеваног оквира за креирање нових рамка саово флексибилно својство. савршено за програмери који траже да прилагоде распоред оквираефикасно у њиховим анимацијама.
public uint DefaultFrameTime { get; set; }
Вредност имовине
Examples
Следећи пример показује како да креирате АПНГ слику из другог растер-јединствене слике.
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
Брзо приступити информацијама о формату датотеке са овом погодном својством.Идеалан за програмери који треба да добију детаље о форматуОд својих АПНГ датотека лако.
public override FileFormat FileFormat { get; }
Вредност имовине
Interlaced
Брзо утврдите да ли је овај објекат ВЛ17.ФилеФорматис.Пнг.БангИмаге интерактанса овом удобном имовином. идеалан за програмери који морају да проверестање интеракције ПНГ слике лако.
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
Недавно створен АПНГ оквир.
AddFrame(RasterImage)
Неуспешно проширите своју колекцију оквира додавањем нове оквире до крајаса овим интуитивним методом. савршено за програмери који траже да побољшају својеАнимације мулти-фреме слике динамично.Садржај новог оквира ће бити попуњен са одређене слике.
public void AddFrame(RasterImage frameImage)
Parameters
frameImage
RasterImage
Слике из оквира.
Examples
Следећи пример показује како да креирате АПНГ слику из другог растер-јединствене слике.
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
FrameImage je nula.
AddFrame(РастерИмаге, Уинт)
Проширите своју колекцију оквира беспрекорно причвршћујући нови оквир наса овим интуитивним методом. идеалан за програмери који желе да обогате својеАнимације мулти-фреме слике.Садржај новог оквира ће бити попуњен са одређене слике.
public void AddFrame(RasterImage frameImage, uint frameTime)
Parameters
frameImage
RasterImage
Слике из оквира.
frameTime
uint
Рам трајања, у милисекундима.
Exceptions
FrameImage je nula.
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 с пикселаТо је око овог пиксела.
windowSize
int
Величина s x s прозора пиксела усредсређен око овог пиксела
BinarizeFixed(Бајте)
Неуспешно бинарни слику користећи претходно дефинисани праг са овимИнтуитивна метода. идеалан за програмери који траже да конвертују слике у бинарну форму,поједностављају их за даље обраду или анализу.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Ако је одговарајућа сива вредност пиксела већа од границе,255 ће му бити додељено, 0 другачије.
BinarizeOtsu()
Извршите бинарнизацију на слици користећи Оцу гранични са овим интуитивним методом.Идеалан за програмери који траже да аутоматски утврде оптималну границу законвертирајући слике у бинарну форму, побољшавајући њихову јасноћу и прилагодљивост за даље анализе.
public override void BinarizeOtsu()
Crop(Rectangle)
Неуспешно узгајати слику да се фокусира на одређене области са овим интуитивним методом.Савршено за програмери који траже да динамично побољшају састав својих слика.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
То је правоугао.
Crop(int, int, int, int)
Посадите слику док прилагођавате промене беспрекорно са овим интуитивним методом.Идеалан за програмери који траже прецизну контролу над процесом сакупљањада се фокусирају на одређене области њихових АПНГ слика.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
Левица се мења.
rightShift
int
И прави промен.
topShift
int
На врхунском прелазу.
bottomShift
int
Доњи промен.
Dither(ДитарингМетод, инт, ИцлорПалет)
Једноставно примените ефекте дитирања на тренутну слику са овим интуитивним методом.Идеалан за програмери који желе да додају текстуру или смањују боје у њиховим сликама.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
То је дитринг метода.
bitsCount
int
Последњи битови рачунају за дитирање.
customPalette
IColorPalette
Прилагођена палета за дитирање.
Filter(Ректонгле, ФилтерОпцијеБазе)
Бескорисно примените филтере на одређени правоугао слике са овимИнтуитивна метода. савршен за програмери који траже да побољшају или модификују одређене области.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
То је правоугао.
options
FilterOptionsBase
о опцијама .
GetDefaultOptions(Објекат[])
Поправити подразумеване опције без напора са овим једноставним методом.Идеалан за програмери који траже брз приступ подразумеваним подешавањама Апнг слике.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[]
i argumentima .
Returns
Default opcije
GetModifyDate(Боол)
Брзо добити датум и време када је слика ресурса последње модификованаса овим корисничким методом. идеалан за програмери који морају пратити променеЕфикасно управљати ресурсима.
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
ако је постављен на “истину”, користите информације из FileInfo као подразумевану вредност.
Returns
Датум и време слике ресурса је последњи пут модификован.
GetOriginalOptions()
Опоравите опције засноване на оригиналним подешавањама датотеке без напора са овим интуитивним методом.Савршено за програмери који траже да приступе и користе подешавања која одговарају карактеристикамаиз оригиналне фајлове.Ово може бити корисно за одржавање детаљне дубине и других параметара оригиналне слике непромењене.На пример, ако наплаћујемо црно-белу ПНГ слику са 1 битом по пикселу, а затим га сачувате користећиAspose.Imaging.DataStreamSupporter.Save(System.String) метода, излазна ПНГ слика са 8 бита по пикселу ће бити произведена.Да бисте то избегли и сачували ПНГ слику са 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
Недавно створен АПНГ оквир.
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.
FrameImage je nula.
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.
FrameImage je nula.
PopFrameAt(Инт)
Уклоните и вратите оквир на одређеном индексу из ваше колекције оквираса овим интуитивним методом. савршено за програмери који траже ефикасно управљањеу њиховим анимацијама.
public ApngFrame PopFrameAt(int index)
Parameters
index
int
То је индекс.
Returns
Уклоњени АПНГ оквир.
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
Следећи пример показује како да креирате АПНГ слику из другог растер-јединствене слике.
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(int, int, resizeType)
Рециклирајте слику беспрекорно овим интуитивним методом. савршено за програмериПокушајте да прилагодите димензије својих слика динамично.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
Нова ширина је.
newHeight
int
Нова висина је.
resizeType
ResizeType
Тип рецидива .
Resize(int, int, ImageResizeСеттингс)
Рециклирају слику.
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)
Sačuvajte podatke.
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()