Class ApngImage

Class ApngImage

Namn på plats: Aspose.Imaging.FileFormats.Apng Församling: Aspose.Imaging.dll (25.4.0)

API för animerad PNG (Animated Portable Network Graphics) bildfilformat är en mångsidig lösning för utvecklare som vill integreraanimerad innehåll i deras applikationer. denna API erbjuder omfattandekontroll över raminställningar, vilket gör det möjligt för användare att definiera ramspecifikaparametrar, inklusive loop längd och PNG filinställningar.funktionsrika verktyg, kan du enkelt hantera och optimera displayenav APNG-bilder, import och exportbilder, förbättring av dynamiken ochinteraktiva aspekter av dina 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

Arvsmedlemmar

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öljande exempel visar hur man exporterar apng APNG-filformat från andra icke-animerade multi-sidorformat.

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öljande exempel visar hur man exporterar till 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öljande exempel visar hur man skapar APNG-bild från en annan raster ensidig bild.

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

Börja arbeta med Aspose.Imaging.FileFormats.Apng.ApngImage klass genom att initialiseraen ny instans utan ansträngning. perfekt för utvecklare som vill startaAnvänd ApngImage objekt snabbt och effektivt i sina projekt.

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

Parameters

options ApngOptions

och alternativen .

width int

och bredden.

height int

och höjden.

Properties

DefaultFrameTime

Lätt justera standardramtiden för att skapa nya ramar medDenna flexibla egenskap. Perfekt för utvecklare som vill anpassa ramtidningeneffektivt i deras animationer.

public uint DefaultFrameTime { get; set; }

Fastighetsvärde

uint

Examples

Följande exempel visar hur man skapar APNG-bild från en annan raster ensidig bild.

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

Snabb tillgång till information om filformat med denna bekväma egenskap.Idealisk för utvecklare som behöver återhämta detaljer om formatetmed sina Apng-filer lätt.

public override FileFormat FileFormat { get; }

Fastighetsvärde

FileFormat

Interlaced

Snabbt bestämma om detta Aspose.Imaging.FileFormats.Png.PngImage objekt är länkatmed denna bekväma fastighet. Idealisk för utvecklare som behöver kontrolleraden interlänkande staten av PNG-bilder lätt.

public bool Interlaced { get; }

Fastighetsvärde

bool

NumPlays

Snabbt kontrollera antalet gånger din animation löper med dettamångsidig egenskap. Perfekt för utvecklare som letar efter exakt kontroll överanimation beteende, med stöd för oändlig loopning i fallet medVärdet är lika med 0.

public int NumPlays { get; set; }

Fastighetsvärde

int

PageCount

Hämta det totala antalet sidor i din bildfil utan ansträngning med denna egenskap.Idealisk för utvecklare som behöver snabb åtkomst till sidan räkning information.

public override int PageCount { get; }

Fastighetsvärde

int

Pages

Snabbt komma åt sidorna i din bild med denna bekväma egendom.Perfekt för utvecklare som söker snabb och enkel åtkomst till enskilda sidor för manipulation.

public override Image[] Pages { get; }

Fastighetsvärde

Image [ ]

XmpData

Effektivt hantera XMP metadata associerade med dina filer med hjälp av dettamångsidig egenskap. Perfekt för utvecklare som vill komma åt eller uppdateraMetadata med lätthet.

public override XmpPacketWrapper XmpData { get; set; }

Fastighetsvärde

XmpPacketWrapper

Methods

AddFrame()

Lätt lägga till en ny ram till slutet av din ramsamling med dettaen enkel metod. idealisk för utvecklare som vill utöka sinFramsamling dynamiskt för animationer med flerframsbilder.En ny ram kommer att skapas enligt storleken på den aktuella bilden.

public ApngFrame AddFrame()

Returns

ApngFrame

Den nyligen skapade APNG-ramen.

AddFrame(RasterImage)

Snabbt utöka din ramsamling genom att lägga till en ny ram till slutetmed denna intuitiva metod. Perfekt för utvecklare som vill förbättra sinanimering av multi-frams bilder dynamiskt.Innehållet i den nya ramen kommer att fyllas i från den angivna bilden.

public void AddFrame(RasterImage frameImage)

Parameters

frameImage RasterImage

Framsidan av bilden.

Examples

Följande exempel visar hur man skapar APNG-bild från en annan raster ensidig bild.

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 är noll.

AddFrame(RasterImage, Uint)

Utöka din ramkollektion smidigt genom att lägga till en ny ram påmed denna intuitiva metod. Idealisk för utvecklare som vill berika sinaanimering av flerframsbilder.Innehållet i den nya ramen kommer att fyllas i från den angivna bilden.

public void AddFrame(RasterImage frameImage, uint frameTime)

Parameters

frameImage RasterImage

Framsidan av bilden.

frameTime uint

Frame varaktighet, i millisekunder.

Exceptions

ArgumentNullException

FrameImage är noll.

AddPage(RasterImage)

Lägg till en ny sida till bilden utan ansträngning med denna intuitiva metod.Perfekt för utvecklare som vill expandera innehållet i sina bildfiler dynamiskt.

public void AddPage(RasterImage page)

Parameters

page RasterImage

sidan att lägga till.

Exceptions

ArgumentNullException

page’ is null.

AdjustBrightness(int)

Det är lätt att justera bildens glans med denna intuitiva metod,med hjälp av den angivna glansparametern.Ideal för utvecklare som vill förbättra eller minska bildens övergripande glans dynamiskt.

public override void AdjustBrightness(int brightness)

Parameters

brightness int

ljusets värde.

AdjustContrast(Flotta)

Förbättra kontrasten av Aspose.Imaging.Imageför att göra detaljerna framträdande med denna intuitiva metod. idealisk för utvecklaresträvar efter att förbättra den visuella klarheten och effekten av sina bilder dynamiskt.

public override void AdjustContrast(float contrast)

Parameters

contrast float

Kontrastvärde (i intervall [-100; 100])

AdjustGamma(Flotta)

Applicera gamma korrigering till bilden med hjälp av en flödespunktkoefficientIdealisk för utvecklare som letar efter exakt färgkontrolli deras bilder.

public override void AdjustGamma(float gamma)

Parameters

gamma float

Gamma för röda, gröna och blå kanaler koefficient

AdjustGamma(flotta, flotta och flotta)

Gör gamma korrigering på bilden separat för röda, gröna och blå kanaleranvändning av enskilda koefficienter med denna intuitiva metod. Idealisk för utvecklare som sökerför finfärgbalans och förbättra visuell kvalitet på deras bilder.

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

Parameters

gammaRed float

Gamma för rödkanalkoefficient

gammaGreen float

Gamma för grön kanalkoefficient

gammaBlue float

Gamma för blåkanalkoefficient

BinarizeBradley(dubbel, int)

Binarisering av en bild med hjälp av Bradleys adaptiva tröskelvärde algoritm med hjälp av integrerad bildtröskelvärde

public override void BinarizeBradley(double brightnessDifference, int windowSize)

Parameters

brightnessDifference double

Skillnaden i ljusstyrka mellan pixlar och genomsnittet av ett s x s fönster av pixlarFokusera runt den här pixeln.

windowSize int

Storleken på s x s fönstret av pixlar som är inriktade runt denna pixel

BinarizeFixed(byte)

Snabbt binära bilden med hjälp av en fördefinierad gräns med dettaIdealisk för utvecklare som vill konvertera bilder till binära former,förenklade dem för ytterligare behandling eller analys.

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

Om motsvarande gråvärde av en pixel är större än gränsvärdet, ett värde av255 kommer att tilldelas det, 0 annars.

BinarizeOtsu()

Gör binarisering på bilden med hjälp av Otsu gränssnitt med denna intuitiva metod.Idealisk för utvecklare som vill automatiskt bestämma den optimala gränsen förkonvertera bilder till binära former, förbättra deras klarhet och lämplighet för ytterligare analys.

public override void BinarizeOtsu()

Crop(Rectangle)

Snabbt odla bilden för att fokusera på specifika områden med denna intuitiva metod.Perfekt för utvecklare som vill förfina sammansättningen av sina bilder dynamiskt.

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

och rektangeln.

Crop(int, int, int, int och int)

Växla bilden samtidigt som du justerar ändringar smidigt med denna intuitiva metod.Idealisk för utvecklare som söker noggrann kontroll över grävningsprocessenatt fokusera på specifika områden av deras Apng-bilder.

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

Parameters

leftShift int

Den vänstra byten.

rightShift int

Den rätta byten.

topShift int

Den högsta växlingen.

bottomShift int

Den nedre ändringen.

Dither(DitheringMethod, int, IColorPalette)

Lätt applicera ditheringseffekter på den aktuella bilden med denna intuitiva metod.Idealisk för utvecklare som vill lägga till textur eller minska färgbandning i sina bilder.

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

Parameters

ditheringMethod DitheringMethod

Metoden för att diktera.

bitsCount int

De sista bitarna räknar för dithering.

customPalette IColorPalette

Den vanliga paletten för dithering.

Filter(Rectangle, FilterOptionsBase)

Snabbt applicera filter till den angivna rektangeln av bilden med dettaPerfekt för utvecklare som vill förbättra eller modifiera specifika områden.

public override void Filter(Rectangle rectangle, FilterOptionsBase options)

Parameters

rectangle Rectangle

och rektangeln.

options FilterOptionsBase

och alternativen .

GetDefaultOptions(Objektet[])

Återställa standardalternativ utan ansträngning med denna enkla metod.Idealisk för utvecklare som letar efter snabb åtkomst till standard Apng bildinställningar.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object [ ]

och argumenten .

Returns

ImageOptionsBase

Standardalternativ

GetModifyDate(Bool)

Snabbt få datum och tid när källbilden senast ändratsmed denna användarvänliga metod. Idealisk för utvecklare som behöver spåra förändringarHantera resurser på ett effektivt sätt.

public override DateTime GetModifyDate(bool useDefault)

Parameters

useDefault bool

Om du ställer in “true” använder du informationen från FileInfo som standardvärde.

Returns

DateTime

Datum och tid resursbilden ändrades senast.

GetOriginalOptions()

Återställa alternativ baserat på de ursprungliga filinställningarna utan ansträngning med denna intuitiva metod.Perfekt för utvecklare som vill komma åt och använda inställningar som matchar egenskapernafrån den ursprungliga filen.Detta kan vara användbart för att hålla bitdjup och andra parametrar av den ursprungliga bilden oförändrad.Till exempel, om vi laddar en svartvitt PNG-bild med 1 bit per pixel och sedan sparar den med hjälp avAspose.Imaging.DataStreamSupporter.Save(System.String) metod, utgången PNG bild med 8-bitars per pixel kommer att produceras.För att undvika det och spara PNG-bild med 1-bit per pixel, använd denna metod för att få motsvarande spara alternativ och passera demtill Aspose.Imaging.Image.Save(System.String,Aspose.Imaging.ImageOptionsBase) metod som andra parametrar.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Alternativ baserade på de ursprungliga filinställningarna.

GetPagesAsEnumerable()

Få sidorna som nummerbara.

protected override IEnumerable<image/> GetPagesAsEnumerable()

Returns

IEnumerable ochlt; Image >

De egna sidorna som numrerbara.

Grayscale()

Det är lätt att omvandla bilden till sin gråskala representation med denna intuitiva metod.Idealisk för utvecklare som vill konvertera färgbilder till gråskalor, förenkla derasvisualisering eller analysprocesser.

public override void Grayscale()

InsertFrame(int)

Snabbt infoga en ny ram i din ramsamling på den angivnamed denna intuitiva metod. Idealisk för utvecklare som söker noggrann kontroll överarrangemanget av ramar i deras animationer av multi-ramar bilder.En ny ram kommer att skapas enligt storleken på den aktuella bilden.

public ApngFrame InsertFrame(int index)

Parameters

index int

och indexet .

Returns

ApngFrame

Den nyligen skapade APNG-ramen.

Exceptions

ArgumentOutOfRangeException

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

InsertFrame(Författare, RasterImage)

Ange ett nytt ramverk i den egna ramsamlingen på det angivna indexet.Innehållet i den nya ramen kommer att fyllas i från den angivna bilden.

public void InsertFrame(int index, RasterImage frameImage)

Parameters

index int

och indexet .

frameImage RasterImage

Framsidan av bilden.

Exceptions

ArgumentOutOfRangeException

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

ArgumentNullException

FrameImage är noll.

InsertFrame(Författare, RasterImage, uint)

Ange ett nytt ramverk i den egna ramsamlingen på det angivna indexet.Innehållet i den nya ramen kommer att fyllas i från den angivna bilden.

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

Parameters

index int

och indexet .

frameImage RasterImage

Framsidan av bilden.

frameTime uint

Frame varaktighet, i millisekunder.

Exceptions

ArgumentOutOfRangeException

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

ArgumentNullException

FrameImage är noll.

PopFrameAt(int)

Ta bort och återhämta ram på den angivna indexet från din ramsamlingPerfekt för utvecklare som letar efter effektiv ledningFrame i deras animationer.

public ApngFrame PopFrameAt(int index)

Parameters

index int

och indexet .

Returns

ApngFrame

Den avlägsnade APNG-ramen.

Exceptions

ArgumentOutOfRangeException

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

ReleaseManagedResources()

Lämna de hanterade resurserna. se till att inga ohanterade resurser släpps här, eftersom de kan ha varitredan släppt.

protected override void ReleaseManagedResources()

RemoveAllFrames()

Rengör din ramsamling genom att ta bort alla ramar med denna intuitiva metod.Idealisk för utvecklare som vill återställa eller uppdatera sina animationer.

public void RemoveAllFrames()

Examples

Följande exempel visar hur man skapar APNG-bild från en annan raster ensidig bild.

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)

Ta bort rammen på det angivna indexet från din ramsamling smidigtPerfekt för utvecklare som letar efter strikt hantering av ramari deras multi-frame bilder.Den ram som ska tas bort kommer att tas bort.

public void RemoveFrameAt(int index)

Parameters

index int

och indexet .

Exceptions

ArgumentOutOfRangeException

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

ResetDefaultImage()

Ta bort en tidigare inställd standardbild med denna intuitiva metod.Idealisk för utvecklare som vill återställa eller ta bort standardbilden i sin animation.Efter detta är standardbilden den första rammen i själva ramsamlingen.(Det kan inte raderas med hjälp av denna metod).

public void ResetDefaultImage()

Resize(int, int, resizeType)

Återskapa bilden smidigt med denna intuitiva metod. Perfekt för utvecklareFörsöker justera dimensionerna av sina bilder dynamiskt.

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

Parameters

newWidth int

Den nya bredden.

newHeight int

Den nya höjden.

resizeType ResizeType

Den återställande typen.

Resize(int, int, ImageResizeSettings)

återställer bilden.

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

Parameters

newWidth int

Den nya bredden.

newHeight int

Den nya höjden.

settings ImageResizeSettings

De återställda inställningarna.

ResizeHeightProportionally(int, ResizeType)

Snabbt justera höjden på din bild samtidigt som dess proportioner bibehållsPerfekt för utvecklare som vill återskapa bilderDynamiskt samtidigt som man bibehåller sin aspekter proportion.

public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)

Parameters

newHeight int

Den nya höjden.

resizeType ResizeType

Typ av återställning.

ResizeWidthProportionally(int, ResizeType)

Proportionellt återskapa bildens bredd utan ansträngning med denna intuitiva metod.Idealisk för utvecklare som vill upprätthålla aspektförhållandet av sina bilder medanjustera sina dimensioner.

public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)

Parameters

newWidth int

Den nya bredden.

resizeType ResizeType

Typ av återställning.

Rotate(Float, bool, färg)

Rotera bilden runt dess centrum utan ansträngning med denna intuitiva metod.Perfekt för utvecklare som vill justera orienteringen av sina bilder dynamiskt.

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

Parameters

angle float

Den roterade vinkeln i grader. Positiva värden roterar klockvis.

resizeProportionally bool

Om du ställer in till ’true’ kommer du att ha din bildstorlek ändrats enligt roterade rektangulära (kornpunkter) projektioner i annat fall som lämnar dimensioner obekväma och endastinterna bildinnehåll roteras.

backgroundColor Color

Färgen på bakgrunden.

RotateFlip(RotateFlipType)

Snabbt manipulera den aktiva ramen genom att rotera, flipa, eller bådamed denna intuitiva metod. Idealisk för utvecklare som vill anpassaBildram orientering.

public override void RotateFlip(RotateFlipType rotateFlipType)

Parameters

rotateFlipType RotateFlipType

Den roterade flip typen.

SaveData(Stream)

Spara dina data.

protected override void SaveData(Stream stream)

Parameters

stream Stream

Strömmen för att spara data till.

SetDefaultImage(RasterImage)

Ställ in den angivna rasterbilden som standardbilden för den aktuella animationenperfekt för utvecklare som letar efter att anpassastandardbild i deras animationer.

public void SetDefaultImage(RasterImage image)

Parameters

image RasterImage

och bilden.

Exceptions

ArgumentNullException

Bilden är noll.

UpdateDimensions(int, int)

Uppdatera bilddimensionerna.

protected override void UpdateDimensions(int newWidth, int newHeight)

Parameters

newWidth int

Den nya bilden bredd.

newHeight int

Den nya bilden höjd.

UpdateMetadata()

Uppdatera bildmetadata.

protected override void UpdateMetadata()
 Svenska