Class ApngImage

Class ApngImage

Navne til: Aspose.Imaging.FileFormats.Apng Sammensætning: Aspose.Imaging.dll (25.4.0)

API for animeret PNG (Animated Portable Network Graphics) billedfilFormatet er en mangfoldig løsning for udviklere, der ønsker at integrereanimeret indhold i deres applikationer. denne API tilbyder omfattendekontrol over rammeindstillinger, som gør det muligt for brugerne at definere rammer-specifikparametre, herunder loop varighed og PNG filindstillinger.funktionsrige værktøj, kan du nemt styre og optimere displayenaf APNG-billeder, import og eksport af billeder, der forbedrer dynamikken ogInteraktive aspekter af dine applikationer.

[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

De arvede medlemmer

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

Følgende eksempel viser, hvordan man eksporterer apng APNG-filformatet fra andre ikke-animerede multi-page-formater.

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
                                                                                                                     }

Følgende eksempel viser, hvordan man eksporterer til APNG filformat.

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
                                                                         }

Følgende eksempel viser, hvordan man opretter APNG-billede fra en anden raster-en-side-bilde.

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(Optioner, int og int)

Start arbejdet med Aspose.Imaging.FileFormats.Apng. ApngImage klasse ved at initialisereen ny instans hårdt. Perfekt for udviklere, der søger at starteBrug ApngImage-objekter hurtigt og effektivt i deres projekter.

public ApngImage(ApngOptions options, int width, int height)

Parameters

options ApngOptions

De valgmuligheder.

width int

Den bredde.

height int

Den højde.

Properties

DefaultFrameTime

Det er nemt at justere den standard rammevarighed for at oprette nye rammer medDette fleksible ejendom. Perfekt til udviklere, der søger at tilpasse rammetideffektivt i deres animationer.

public uint DefaultFrameTime { get; set; }

Ejendomsværdi

uint

Examples

Følgende eksempel viser, hvordan man opretter APNG-billede fra en anden raster-en-side-bilde.

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

Hurtig adgang til information om filformatet med denne bekvemme ejendom.Ideel til udviklere, der har brug for at hente detaljer om formatetaf deres Apng filer nemt.

public override FileFormat FileFormat { get; }

Ejendomsværdi

FileFormat

Interlaced

Det er hurtigt at bestemme, om dette Aspose.Imaging.FileFormats.Png. PngImage-objekt er interlinketmed denne bekvemme ejendom. Ideal for udviklere, der har brug for at kontrollerePNG-billederne er let at knytte til.

public bool Interlaced { get; }

Ejendomsværdi

bool

NumPlays

Kontroller hurtigt, hvor mange gange din animation løber med dettePerfekt til udviklere, der søger nøjagtig kontrol overanimation adfærd, med støtte for uendelig looping i tilfælde afVærdien svarer til 0.

public int NumPlays { get; set; }

Ejendomsværdi

int

PageCount

Gendanne det samlede antal sider i din billedfil hårdt med denne ejendom.Det er ideelt for udviklere, der har brug for hurtig adgang til sideoplysninger.

public override int PageCount { get; }

Ejendomsværdi

int

Pages

Prøv nemt at få adgang til siderne af dit billede med denne bekvemme ejendom.Perfekt til udviklere, der søger hurtig og nem adgang til individuelle sider til manipulation.

public override Image[] Pages { get; }

Ejendomsværdi

Image []

XmpData

Effektivt administrere XMP metadata forbundet med dine filer ved hjælp af dettePerfekt til udviklere, der søger at få adgang eller opdatereMetadata informationer nemt.

public override XmpPacketWrapper XmpData { get; set; }

Ejendomsværdi

XmpPacketWrapper

Methods

AddFrame()

Du kan nemt tilføje et nyt ramme til slutningen af din rammersamling med detteideel til udviklere, der ønsker at udvide deresFrame samler dynamisk til animationer med multi-frame billeder.En ny ramme vil blive skabt i henhold til størrelsen af det nuværende billede.

public ApngFrame AddFrame()

Returns

ApngFrame

Den nyligt oprettet APNG ramme.

AddFrame(RasterImage)

Udvid din rammesamling uden problemer ved at tilføje et nyt rammer til slutningenmed denne intuitive metode. Perfekt til udviklere, der søger at forbedre deresAnimation af multi-frame billeder dynamisk.Indholdet i den nye ramme vil blive udfyldt fra det angivne billede.

public void AddFrame(RasterImage frameImage)

Parameters

frameImage RasterImage

Det er rammebilledet.

Examples

Følgende eksempel viser, hvordan man opretter APNG-billede fra en anden raster-en-side-bilde.

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

ArgumentNullException

Frameimage er null.

AddFrame(Skønhed, uint)

Udvid dit rammeindsamling smidigt ved at tilføje et nyt rammer tilmed denne intuitive metode. ideel for udviklere, der ønsker at berige deresAnimation af multi-frame billeder.Indholdet i den nye ramme vil blive udfyldt fra det angivne billede.

public void AddFrame(RasterImage frameImage, uint frameTime)

Parameters

frameImage RasterImage

Det er rammebilledet.

frameTime uint

Den ramme varighed, i millisekunder.

Exceptions

ArgumentNullException

Frameimage er null.

AddPage(RasterImage)

Tilføj en ny side til billedet med denne intuitive metode.Perfekt til udviklere, der søger at udvide indholdet af deres billedfiler dynamisk.

public void AddPage(RasterImage page)

Parameters

page RasterImage

Side til at tilføje.

Exceptions

ArgumentNullException

page’ is null.

AdjustBrightness(Int)

Det er nemt at tilpasse brightness’ af billedet med denne intuitive metode, ved hjælp af den angivne brådde parameter. Ideel for udviklere, der søger at forbedre eller dimthe den samlede lyssomhed af billeder dynamisk.

public override void AdjustBrightness(int brightness)

Parameters

brightness int

Lysets værdi.

AdjustContrast(Flåder)

Forbedre kontrasten af Aspose.Imaging.billedeat gøre detaljer fremtrædende med denne intuitive metode. ideel til udvikleresøger at forbedre synlig klarhed og indflydelse af deres billeder dynamisk.

public override void AdjustContrast(float contrast)

Parameters

contrast float

Kontrastværdi (i rækkefølge [-100; 100])

AdjustGamma(Flåder)

Anvend gamma-korrektion til billedet ved hjælp af en floating point-koefficientIdeel til udviklere, der søger nøjagtig farvekontroli deres billeder.

public override void AdjustGamma(float gamma)

Parameters

gamma float

Gamma for røde, grønne og blå kanaler

AdjustGamma(Flåder, Flåder og Flåder)

Gennemføre gamma-korrektion på billedet separat for de røde, grønne og blå kanalerbruger individuelle koefficienter med denne intuitive metode. ideel til udviklere, der søgerat forbedre farvebalancen og øge synskvaliteten af deres billeder.

public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)

Parameters

gammaRed float

Gamma for rødkanal koefficient

gammaGreen float

Gamma for grøn kanal koefficient

gammaBlue float

Gamma for blå kanal koefficient

BinarizeBradley(Dobbelt og int)

Binarisering af et billede ved hjælp af Bradley’s adaptive grænseoverskridende algoritme ved hjælp af den integrerede image grænseoverskridende

public override void BinarizeBradley(double brightnessDifference, int windowSize)

Parameters

brightnessDifference double

Skillingen i lys mellem piksler og gennemsnittet af et s x s-vindue af pixlerDet er fokuseret omkring denne pixel.

windowSize int

Størrelsen af s x s vindue af piksler centreret omkring denne piksel

BinarizeFixed(byte)

Trygt at binære billedet ved hjælp af en fordefineret grænse med detteIdeel til udviklere, der søger at konvertere billeder til binære former,Forenkle dem til yderligere behandling eller analyse.

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

Hvis den tilsvarende grå værdi af en pixel er større end grænseværdien,255 vil blive tildelt det, 0 ellers.

BinarizeOtsu()

Udføre binarisering på billedet ved hjælp af Otsu-grænse med denne intuitive metode.Ideel til udviklere, der søger automatisk at bestemme den optimale grænse foromdanne billeder til binære former, der forbedrer deres klarhed og egnethed til yderligere analyse.

public override void BinarizeOtsu()

Crop(Rectangle)

Håndter billedet hårdt for at fokusere på specifikke områder med denne intuitive metode.Perfekt til udviklere, der søger at forfinne sammensætningen af deres billeder dynamisk.

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

Det rektangulære.

Crop(Int, int, int, int og int)

Plante billedet, mens du justerer skiftene sømløst med denne intuitive metode.Ideel til udviklere, der søger nøjagtig kontrol over skaldeprocessenat fokusere på specifikke områder af deres Apng-billeder.

public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)

Parameters

leftShift int

Den venstre skift.

rightShift int

Den rigtige skift.

topShift int

Den øverste skift.

bottomShift int

Den nederste skift.

Dither(DitheringMethod, int, IColorPalette)

Det er nemt at anvende dithering effekter til det nuværende billede med denne intuitive metode.Ideel for udviklere, der søger at tilføje tekstur eller reducere farvebånd i deres billeder.

public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)

Parameters

ditheringMethod DitheringMethod

Den dyderende metode.

bitsCount int

De sidste bits tæller for dithering.

customPalette IColorPalette

Det er den sædvanlige palette til dithering.

Filter(Rectangle, FilterOptionsBase)

Trygt at anvende filtre til den angivne rektangle af billedet med dettePerfekt til udviklere, der søger at forbedre eller ændre specifikke områder.

public override void Filter(Rectangle rectangle, FilterOptionsBase options)

Parameters

rectangle Rectangle

Det rektangulære.

options FilterOptionsBase

De valgmuligheder.

GetDefaultOptions(Objekt[])

Gendanne de standardmuligheder hårdt med denne enkle metode.Ideel til udviklere, der søger hurtig adgang til standard Apng-billedeindstillinger.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object []

og argumenterne.

Returns

ImageOptionsBase

Undtagelsesmuligheder

GetModifyDate(Bool)

Få hurtigt datoen og tidspunktet for den sidste ændring af ressourcebilledetmed denne brugervenlige metode. ideel til udviklere, der har brug for at spore ændringerog effektivt administrere ressourcerne.

public override DateTime GetModifyDate(bool useDefault)

Parameters

useDefault bool

Hvis du er indstillet til ’true’, bruger du informationen fra FileInfo som standardværdi.

Returns

DateTime

Datoen og tidspunktet for ressourcebilledet blev sidst ændret.

GetOriginalOptions()

Retrieve optioner baseret på de oprindelige filindstillinger hårdt med denne intuitive metode.Perfekt til udviklere, der søger at få adgang til og bruge indstillinger, som er i overensstemmelse med egenskaberneaf den oprindelige fil.Dette kan være nyttigt at holde bit dybde og andre parametre af det oprindelige billede uændret.For eksempel, hvis vi lader et sort-hvidt PNG-billede med 1 bit pr. pixel og gemmer det ved hjælp afAspose.Imaging.DataStreamSupporter.Save(System.String) metode, udgang PNG billede med 8-bit pr pixel vil blive produceret.For at undgå det og spare PNG-billeder med 1-bit pr. pixel, brug denne metode for at få de tilsvarende sparingsmuligheder og pass demtil Aspose.Imaging.Image.Save(System.String,_Wl17.ImagineOptionsBase) metode som den anden parameter.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Optioner baseret på de oprindelige filindstillinger.

GetPagesAsEnumerable()

Gør sidene som nummerbare.

protected override IEnumerable<image/> GetPagesAsEnumerable()

Returns

IEnumerable < Image >

De egne sider som enumerable.

Grayscale()

Det er nemt at forvandle billedet til sin grayscale repræsentation med denne intuitive metode.Ideel til udviklere, der søger at konvertere farvebilleder til grayscale, forenkle deresVisualisering eller analyse.

public override void Grayscale()

InsertFrame(Int)

Prøv nemt at indsætte en ny ramme i din rammersamling på den angivnemed denne intuitive metode. ideel til udviklere, der søger præcis kontrol overarrangementet af rammer i deres animationer af multi-frame billeder.En ny ramme vil blive skabt i henhold til størrelsen af det nuværende billede.

public ApngFrame InsertFrame(int index)

Parameters

index int

Det er indekset.

Returns

ApngFrame

Den nyligt oprettet APNG ramme.

Exceptions

ArgumentOutOfRangeException

index’ is less than 0.orindex’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.

InsertFrame(Tænk på Rasterimage)

Indsæt et nyt ramme i selve rammerne på det angivne indeks.Indholdet i den nye ramme vil blive udfyldt fra det angivne billede.

public void InsertFrame(int index, RasterImage frameImage)

Parameters

index int

Det er indekset.

frameImage RasterImage

Det er rammebilledet.

Exceptions

ArgumentOutOfRangeException

index’ is less than 0.orindex’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.

ArgumentNullException

Frameimage er null.

InsertFrame(Skæbne, Rasterimage og Uint)

Indsæt et nyt ramme i selve rammerne på det angivne indeks.Indholdet i den nye ramme vil blive udfyldt fra det angivne billede.

public void InsertFrame(int index, RasterImage frameImage, uint frameTime)

Parameters

index int

Det er indekset.

frameImage RasterImage

Det er rammebilledet.

frameTime uint

Den ramme varighed, i millisekunder.

Exceptions

ArgumentOutOfRangeException

index’ is less than 0.orindex’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.

ArgumentNullException

Frameimage er null.

PopFrameAt(Int)

Fjern og hente rammen på det angivne indeks fra din rammeindsamlingPerfekt til udviklere, der søger effektiv ledelseaf rammerne i deres animationer.

public ApngFrame PopFrameAt(int index)

Parameters

index int

Det er indekset.

Returns

ApngFrame

Den fjernet APNG ramme.

Exceptions

ArgumentOutOfRangeException

index’ is less than 0.orindex’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.

ReleaseManagedResources()

Udgiv de administrerede ressourcer. Sørg for, at der ikke udgives uadministrerede resurser her, da de kan have væretDet er allerede løsladt.

protected override void ReleaseManagedResources()

RemoveAllFrames()

Rengør din rammesamling ved at fjerne alle rammer med denne intuitive metode.Ideel til udviklere, der søger at genstille eller forny deres animationer.

public void RemoveAllFrames()

Examples

Følgende eksempel viser, hvordan man opretter APNG-billede fra en anden raster-en-side-bilde.

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 &lt; numOfFrames - 1; ++frameIndex)
                                                                                                              {
                                                                                                                  apngImage.AddFrame(sourceImage);
                                                                                                                  ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
                                                                                                                  float gamma = frameIndex &gt;= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
                                                                                                                  lastFrame.AdjustGamma(gamma);
                                                                                                              }

                                                                                                              // add last frame
                                                                                                              apngImage.AddFrame(sourceImage);

                                                                                                              apngImage.Save();
                                                                                                          }
                                                                                                      }

RemoveFrameAt(Int)

Fjern rammen på det angivne indeks fra din rammeindsamling trådløstPerfekt til udviklere, der søger rigtigt forvaltning af rammeri deres multidisciplinære billeder.Den ramme, der skal slettes, vil blive slettet.

public void RemoveFrameAt(int index)

Parameters

index int

Det er indekset.

Exceptions

ArgumentOutOfRangeException

index’ is less than 0.orindex’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.

ResetDefaultImage()

Fjern et tidligere indstillet standardbillede med denne intuitive metode.Ideel til udviklere, der søger at genstille eller slette det standardbillede i deres animation.Efter dette er standardbilledet den første ramme i selve rammersamling(det kan ikke slettes ved hjælp af denne metode).

public void ResetDefaultImage()

Resize(Int, Int, ResizeType)

Gennemstræk billedet med denne intuitive metode. Perfekt til udviklereat tilpasse dimensionerne af deres billeder dynamisk.

public override void Resize(int newWidth, int newHeight, ResizeType resizeType)

Parameters

newWidth int

Den nye bredde.

newHeight int

Den nye højde.

resizeType ResizeType

Den modsatte type.

Resize(Int, Int og ImageResizeSettings)

genopretter billedet.

public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)

Parameters

newWidth int

Den nye bredde.

newHeight int

Den nye højde.

settings ImageResizeSettings

De tilbagevendende indstillinger.

ResizeHeightProportionally(Tænk, ResizeType)

Man kan nemt justere billedets højde samtidig med at man bevarer dens proportioner.Perfekt til udviklere, der søger at genskabe billederdynamisk samtidig med at beholde deres aspektforhold.

public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)

Parameters

newHeight int

Den nye højde.

resizeType ResizeType

Typen af genanvendelse.

ResizeWidthProportionally(Tænk, ResizeType)

Proportionelt genanvend bredden af billedet hårdt ved hjælp af denne intuitive metode.Ideel til udviklere, der søger at opretholde aspektforholdet i deres billeder, menstilpasse deres dimensioner.

public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)

Parameters

newWidth int

Den nye bredde.

resizeType ResizeType

Typen af genanvendelse.

Rotate(flåd, bool, farve)

Gør billedet rundt i dets centrum hårdt ved hjælp af denne intuitive metode.Perfekt til udviklere, der søger at justere orienteringen af deres billeder dynamisk.

public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)

Parameters

angle float

Den roterende hjørne i grader. Positive værdier vil rotere klokkevis.

resizeProportionally bool

Hvis du har indstillet til ’true’ vil du have din billedstørrelse ændret i henhold til roterede rektangle (kornpunkter) projektioner i andre tilfælde, der forlader dimensioner untouched og kuninterne billedsindhold roteres.

backgroundColor Color

Farve af baggrunden.

RotateFlip(RotateFlipType)

Arbejdsløst manipulere den aktive ramme ved at rotere, flippe eller beggemed denne intuitive metode. ideel til udviklere, der søger at tilpasseBilledrammer i orientering.

public override void RotateFlip(RotateFlipType rotateFlipType)

Parameters

rotateFlipType RotateFlipType

Den roterede flip type.

SaveData(Stream)

Sparer de data.

protected override void SaveData(Stream stream)

Parameters

stream Stream

Strømmen til at gemme data til.

SetDefaultImage(RasterImage)

Sæt det angivne rasterbillede som standardbilledet for den aktuelle animationPerfekt til udviklere, der søger at tilpasseden standardbillede i deres animationer.

public void SetDefaultImage(RasterImage image)

Parameters

image RasterImage

Det billede.

Exceptions

ArgumentNullException

Billedet er null.

UpdateDimensions(Det er int)

Opdaterer billeddimensionerne.

protected override void UpdateDimensions(int newWidth, int newHeight)

Parameters

newWidth int

Den nye billedvidde.

newHeight int

Den nye billed højde.

UpdateMetadata()

Opdaterer billederne med metadata.

protected override void UpdateMetadata()
 Dansk