Class ApngImage
nazivni prostor: Aspose.Imaging.FileFormats.Apng Sastav: Aspose.Imaging.dll (25.4.0)
API za animirani PNG (Animated Portable Network Graphics) datoteku slikeformat je sveobuhvatno rješenje za razvijatelje koji žele integriratianimirani sadržaj u njihove aplikacije. ova API nudi opsežnekontrolu nad okvirnim postavkama, omogućavajući korisnicima da definiraju okvirne specifikacijeparametri, uključujući trajanje krugova i postavke datoteke PNG.Opći alat, možete bez napora upravljati i optimizirati prikazAPNG slike, uvoz i izvoz slika, poboljšavajući dinamičnost iInteraktivni aspekti vaših aplikacija.
[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
naslijeđeni članovi
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
Sljedeći primjer pokazuje kako izvoziti APNG format datoteke iz drugih ne-animiranih multi-page formata.
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
}
Sljedeći primjer pokazuje kako izvoziti u formatu datoteke 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
}
Sljedeći primjer pokazuje kako stvoriti sliku APNG-a iz druge raster jedne stranice slike.
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(Sljedeći članakSvijet, int)
Počnite raditi s Aspose.Imaging.FileFormats.Apng. ApngImage razredom inicijaliziranjemnovi primjer bez napora. savršeno za razvijatelje koji pokušavaju započetiKoristite ApngImage objekte brzo i učinkovito u svojim projektima.
public ApngImage(ApngOptions options, int width, int height)
Parameters
options
ApngOptions
i opcije .
width
int
Širina je.
height
int
Veličina je.
Properties
DefaultFrameTime
Jednostavno prilagoditi podrazumevano trajanje okvira kako bi se stvorili novi okvir sTo je fleksibilna svojstva. savršeno za razvijatelje koji traže prilagodbu rasporedaUčinkovito u njihovim animacijama.
public uint DefaultFrameTime { get; set; }
Vrijednost nekretnina
Examples
Sljedeći primjer pokazuje kako stvoriti sliku APNG-a iz druge raster jedne stranice slike.
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
Brz pristup informacijama o formatu datoteke s ovim prikladnim svojstvom.Idealan za razvijatelje koji trebaju dobiti detalje o formatuNjihove APK datoteke su jednostavne.
public override FileFormat FileFormat { get; }
Vrijednost nekretnina
Interlaced
Brzo utvrdite je li ovaj Aspose.Imaging.FileFormats.Png.pngImage objekt povezansa ovom ugodnom vlasništvom. idealno za razvijatelje koji moraju provjeritiStanje međusobnog povezivanja PNG slika lako.
public bool Interlaced { get; }
Vrijednost nekretnina
NumPlays
Nemoguće je kontrolirati broj puta kada vaša animacija prolazi s ovimsveobuhvatna svojstva. savršeno za razvijatelje koji traže točnu kontrolu nadAnimacijsko ponašanje, uz potporu za beskrajno kretanje u slučajuVrijednost je jednaka 0.
public int NumPlays { get; set; }
Vrijednost nekretnina
PageCount
Povratak ukupnog broja stranica u sliku datoteke bez napora s ovim svojstvom.Idealan za razvijatelje koji trebaju brz pristup informacijama o broju stranica.
public override int PageCount { get; }
Vrijednost nekretnina
Pages
Nemoguće je pristupiti stranicama vaše slike s ovim ugodnim vlasništvom.Idealan za razvijatelje koji traže brz i jednostavan pristup pojedinačnim stranicama za manipulaciju.
public override Image[] Pages { get; }
Vrijednost nekretnina
Image []
XmpData
Nemoguće upravljanje XMP metadata povezanih s vašim datotekama pomoću ovogsveobuhvatna svojstva. savršeno za razvijatelje koji traže pristup ili ažuriranjeInformacije o metapodatima su jednostavne.
public override XmpPacketWrapper XmpData { get; set; }
Vrijednost nekretnina
Methods
AddFrame()
Jednostavno dodajte novi okvir na kraj svoje zbirke s ovimJednostavna metoda. idealna za razvijatelje koji žele proširiti svojeDinamično prikupljanje okvirima za animacije s više okvirnih slika.Stvorit će se novi okvir u skladu s veličinom trenutne slike.
public ApngFrame AddFrame()
Returns
Nedavno stvoreni APNG okvir.
AddFrame(RasterImage)
Neuspješno proširite svoju zbirku okvirja dodavanjem novog okvira na krajsa ovom intuitivnom metodom. savršeno za razvijatelje koji žele poboljšati svojeAnimacije multimedijskih slika dinamično.Sadržaj novog okvira bit će ispunjen s određenog slika.
public void AddFrame(RasterImage frameImage)
Parameters
frameImage
RasterImage
Slike s okvirom.
Examples
Sljedeći primjer pokazuje kako stvoriti sliku APNG-a iz druge raster jedne stranice slike.
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(Sljedeći Članak Rasterimage, uint)
Povećajte svoju zbirku okvira bespomoćno dodavanjem nove okvire nasa ovom intuitivnom metodom. idealno za razvijatelje koji žele obogatiti svojeAnimacije s više okvirnih slika.Sadržaj novog okvira bit će ispunjen s određenog slika.
public void AddFrame(RasterImage frameImage, uint frameTime)
Parameters
frameImage
RasterImage
Slike s okvirom.
frameTime
uint
Vrijeme trajanja u milisekundama.
Exceptions
FrameImage je nula.
AddPage(RasterImage)
Dodajte novu stranicu na sliku bez napora pomoću ove intuitivne metode.Idealan za razvijatelje koji pokušavaju dinamično proširiti sadržaj svojih slikovnih datoteka.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
Stranica za dodavanje.
Exceptions
page’ is null.
AdjustBrightness(int)
Jednostavno prilagoditi briljantnost" slike pomoću ove intuitivne metode,koristeći određeni parametar svjetlosti.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Vrijednost svjetlosti
AdjustContrast(float)
Povećanje kontrasta Aspose.Imaging.Imageda se detalji izlaze s ovim intuitivnim metodom. idealno za razvijateljePokušavaju poboljšati vizualnu jasnost i utjecaj njihovih slika dinamično.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Vrijednost kontrasta (u rasponu [-100; 100])
AdjustGamma(float)
Primijenite gamma korekciju na sliku pomoću koeficijenta točke plovidbeIdealan za razvijatelje koji traže točnu kontrolu bojeU njihovim slikama.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Gamma za koeficijenta crvenih, zelenih i plavih kanala
AdjustGamma(plovilo, plovilo i plovilo)
Izvođenje gamma korekcije na slici odvojeno za crvene, zelene i plave kanalekorištenje pojedinačnih koeficijenata s ovom intuitivnom metodom. idealno za razvijatelje koji tražeza ravnotežu boje i poboljšati vizualnu kvalitetu njihovih slika.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma za koeficijenta crvenog kanala
gammaGreen
float
Gamma za zeleni kanal koeficijenta
gammaBlue
float
Gamma za kofein plavog kanala
BinarizeBradley(Dvostruka, int)
Binarizacija slike pomoću Bradleyjevog adaptivnog pragova algoritma pomoću integriranog pragova slike
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
Razlika u svjetlosti između piksela i prosjeka prozora s x sSredište oko ovog piksela.
windowSize
int
Veličina s x s prozora piksela usredotočenih oko ovog piksela
BinarizeFixed(byte)
Neuspješno binarizirati sliku pomoću unaprijed definiranog praga s ovimIdealan za razvijatelje koji pokušavaju pretvoriti slike u binarne oblike,pojednostavnjenje za daljnju obradu ili analizu.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Ako je odgovarajuća šljunčana vrijednost piksela veća od granice,255 će mu biti dodijeljeno, 0 drugačije.
BinarizeOtsu()
Izvedite binarizaciju na slici pomoću Otsu ograničenja s ovom intuitivnom metodom.Idealan za razvijatelje koji traže automatski određivanje optimalnog praga zapretvaranje slika u binarnu formu, poboljšavajući njihovu jasnost i prikladnost za daljnju analizu.
public override void BinarizeOtsu()
Crop(Rectangle)
Neuspješno uzgajati sliku da se usredotoči na određena područja pomoću ove intuitivne metode.Idealan za razvijatelje koji pokušavaju dinamično rafinirati sastav svojih slika.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
U pravom dijelu.
Crop(int, int, int, int)
Uzgajite sliku dok prilagodite promjene bespomoćno pomoću ove intuitivne metode.Idealan za razvijatelje koji traže preciznu kontrolu nad procesom uzgojausredotočiti se na određene područja njihovih Apng slika.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
Ljevica je promijenila.
rightShift
int
To je prava promjena.
topShift
int
Vrhovna promjena
bottomShift
int
Spuštanje dolje.
Dither(DitheringMetoda, int, IColorPalette)
Jednostavno primjenjujte učinke dimiranja na trenutnu sliku pomoću ove intuitivne metode.Idealno za razvijatelje koji žele dodati teksturu ili smanjiti vezu boja u svojim slikama.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Metoda za iscjedak.
bitsCount
int
Konačni bitovi računaju za dithering.
customPalette
IColorPalette
Korištenje prilagođene palete za dijetiranje.
Filter(Sljedeći članakFilterOptionsBase)
Nemoguće je primijeniti filtre na određeni pravokut slike s ovimIdealan za razvijatelje koji traže poboljšanje ili izmjenu određenih područja.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
U pravom dijelu.
options
FilterOptionsBase
i opcije .
GetDefaultOptions(Objekt[])
Odstranite privremene opcije bez napora pomoću ove jednostavne metode.Idealan za razvijatelje koji traže brz pristup privremenim postavkama slike Apng.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[]
i argumentima .
Returns
Podrazumevane opcije
GetModifyDate(Bolić)
Brzo dobijte datum i vrijeme kada je izvorna slika posljednji put izmijenjenaIdealno za razvijalce koji moraju pratiti promjeneUčinkovito upravljati resursima.
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
ako je postavljen na ‘pravda’ koristi informacije iz FileInfo kao podrazumevanu vrijednost.
Returns
Datum i vrijeme izvorne slike je posljednji put izmijenjen.
GetOriginalOptions()
Obnavljajte opcije na temelju originalnih postavki datoteke bez napora pomoću ove intuitivne metode.Idealan za razvijatelje koji traže pristup i upotrebu postavki koje se usklađuju s karakteristikamaiz originalne datoteke.To može biti korisno za održavanje bit-glob i drugih parametara izvorne slike nepromijenjene.Na primjer, ako preuzmemo crno-bijelu sliku PNG s 1 bitom po pikselu, a zatim je sačuvamo pomoćuAspose.Imaging.DataStreamSupporter.Save(System.String) metoda, izlazna PNG slika s 8 bit po pikselu će se proizvesti.Da biste to izbjegli i sačuvali sliku s 1 bitom po pikselu, koristite ovu metodu kako biste dobili odgovarajuće opcije spašavanja i prošli ih.prema metodi Aspose.Imaging.Image.Save(System.String,_Wl17.ImageOptionsBase) kao drugom parametru.
public override ImageOptionsBase GetOriginalOptions()
Returns
Opcije temelje se na originalnim postavkama datoteke.
GetPagesAsEnumerable()
Stranice se mogu brojati.
protected override IEnumerable<image/> GetPagesAsEnumerable()
Returns
IEnumerable < Image >
Svojim stranicama kao što je navedeno.
Grayscale()
Jednostavno pretvoriti sliku u njezinu grayscale reprezentaciju pomoću ove intuitivne metode.Idealan za razvijatelje koji traže pretvaranje boja slika u grayscale, pojednostavljujući njihoveprocesima vizualizacije ili analize.
public override void Grayscale()
InsertFrame(int)
Neuspješno unijeti novi okvir u svoju zbirku okvira na određenomidealan za razvijatelje koji traže točnu kontrolu nadUređivanje okvirima u njihovim animacijama više okvirnih slika.Stvorit će se novi okvir u skladu s veličinom trenutne slike.
public ApngFrame InsertFrame(int index)
Parameters
index
int
To je indeks.
Returns
Nedavno stvoreni APNG okvir.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
InsertFrame(Sljedeći članakRasterImage)
Upišite novi okvir u vlastitu zbirku okvira na određenom indeksu.Sadržaj novog okvira bit će ispunjen s određenog slika.
public void InsertFrame(int index, RasterImage frameImage)
Parameters
index
int
To je indeks.
frameImage
RasterImage
Slike s okvirom.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
FrameImage je nula.
InsertFrame(Sljedeći Članak RasterImage, uint)
Upišite novi okvir u vlastitu zbirku okvira na određenom indeksu.Sadržaj novog okvira bit će ispunjen s određenog slika.
public void InsertFrame(int index, RasterImage frameImage, uint frameTime)
Parameters
index
int
To je indeks.
frameImage
RasterImage
Slike s okvirom.
frameTime
uint
Vrijeme trajanja u milisekundama.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
FrameImage je nula.
PopFrameAt(int)
Uklanjanje i povlačenje okvira na određenom indeksu iz vaše zbirke okvirimasa ovom intuitivnom metodom. savršeno za razvijatelje koji traže učinkovito upravljanjeSvijet u njihovim animacijama.
public ApngFrame PopFrameAt(int index)
Parameters
index
int
To je indeks.
Returns
uklonjeni APNG okvir.
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ReleaseManagedResources()
Uklonite upravljane resurse. pobrinite se da se ovdje ne otpuštaju nekontrolirani resursi, budući da su mogli bitiJoš je oslobođen.
protected override void ReleaseManagedResources()
RemoveAllFrames()
Očistite svoju zbirku okvirja uklanjanjem svih okvirova pomoću ove intuitivne metode.Idealan za razvijatelje koji pokušavaju ponovno postaviti ili osvježiti svoje animacije.
public void RemoveAllFrames()
Examples
Sljedeći primjer pokazuje kako stvoriti sliku APNG-a iz druge raster jedne stranice slike.
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(int)
Uklonite okvir na određenom indeksu iz vaše zbirke okvira bespomoćnosa ovom metodom. savršeno za razvijatelje koji traže usklađeno upravljanje okvirimau njihovim multi-frame slikama.Okvir koji će biti uklonjen bit će raspušten.
public void RemoveFrameAt(int index)
Parameters
index
int
To je indeks.
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ResetDefaultImage()
Uklonite prethodno postavljenu podrazumevanu sliku pomoću ove intuitivne metode.Idealno za razvijatelje koji pokušavaju ponovno postaviti ili očistiti podrazumevanu sliku u svojoj animaciji.Nakon toga, podrazumevana slika je prvi okvir u samoj zbirci okvira(ne može se ukloniti pomoću ove metode).
public void ResetDefaultImage()
Resize(int, int, resizeType)
Reciklirajte sliku bespomoćno ovom intuitivnom metodom. savršeno za razvijateljePokušava se dinamično prilagoditi dimenzije njihovih slika.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
U novoj širini.
newHeight
int
U novoj visini.
resizeType
ResizeType
Vrsta povlačenja.
Resize(int, int, ImageResizeUredi)
Obnavljajte sliku.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
U novoj širini.
newHeight
int
U novoj visini.
settings
ImageResizeSettings
Određivanje nastavaka.
ResizeHeightProportionally(Sljedeći Članak ResizeType)
Neuspješno prilagoditi visinu vaše slike dok održavate njezine proporcijesa ovom intuitivnom metodom. savršeno za razvijatelje koji traže recikliranje slikaDinamično, dok zadržavaju svoj aspektni omjer.
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
U novoj visini.
resizeType
ResizeType
Vrsta povraćanja.
ResizeWidthProportionally(Sljedeći Članak ResizeType)
Proporcionalno rezati širinu slike bez napora pomoću ove intuitivne metode.Idealan za razvijatelje koji pokušavaju održavati aspektni odnos njihovih slika dokprilagoditi svoje dimenzije.
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)
Parameters
newWidth
int
U novoj širini.
resizeType
ResizeType
Vrsta povraćanja.
Rotate(Float, bool, boja i boja)
Okrenite sliku oko svog centra bez napora pomoću ove intuitivne metode.Idealan za razvijatelje koji pokušavaju dinamično prilagoditi orijentaciju svojih slika.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
Okretni kut u stupanjima. pozitivne vrijednosti će se okrenuti na sat.
resizeProportionally
bool
ako se postavite na ’true’ promijenit ćete veličinu slike prema rotacijskim rektangularnim (kornarnim točkama) projekcijama u drugim slučajevima koje ostavljaju dimenzije bez dodira i samointerna sadržaj slike je rotacijski.
backgroundColor
Color
Boja pozadine.
RotateFlip(RotateFlipType)
Neuspješno manipulirati aktivnim okvirom rotacijom, flippingom ili obasa ovom intuitivnom metodom. idealno za razvijatelje koji traže prilagodbuOvisnost o okvirima slike.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Vrsta rotirajućeg flip.
SaveData(Stream)
Sačuvajte podatke.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Proljev za spašavanje podataka na.
SetDefaultImage(RasterImage)
Postavite određenu raster sliku kao podrazumevano sliko za trenutnu animacijubez napora s ovom metodom. savršeno za razvijatelje koji traže prilagodbuPodrazumevana slika u njihovim animacijama.
public void SetDefaultImage(RasterImage image)
Parameters
image
RasterImage
Na sliku je.
Exceptions
Fotografija je nula.
UpdateDimensions(u, u)
ažurira dimenzije slike.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Nova širina slike.
newHeight
int
Visina nove slike.
UpdateMetadata()
ažurira metapodatke slike.
protected override void UpdateMetadata()