Class ApngImage

Class ApngImage

Το όνομα: Aspose.Imaging.FileFormats.Apng Συγκέντρωση: Aspose.Imaging.dll (25.4.0)

Το API για το αρχείο εικόνας Animated PNG (Animated Portable Network Graphics)Το format είναι μια ευέλικτη λύση για τους προγραμματιστές που θέλουν να ενσωματώσουναναμνηστικό περιεχόμενο στις εφαρμογές τους.Αυτή η API προσφέρει εκτεταμένηέλεγχο των ρυθμίσεων πλαίσιο, επιτρέποντας στους χρήστες να καθορίσουν το συγκεκριμένο πλαίσιοπαραμέτρους, συμπεριλαμβανομένης της διάρκειας κύκλου και των ρυθμίσεων αρχείου PNG.εργαλείο πλούσιο σε χαρακτηριστικά, μπορείτε εύκολα να διαχειριστείτε και να βελτιστοποιήσετε την οθόνηαπό εικόνες APNG, εισαγωγή και εξαγωγή εικόνων, ενισχύοντας τη δυναμική καιΔιαδραστικές πτυχές των εφαρμογών σας.

[JsonObject(MemberSerialization.OptIn)]
public sealed class ApngImage : RasterCachedMultipageImage, IDisposable, IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IHasXmpData, IHasMetadata, IMultipageImageExt, IMultipageImage

Inheritance

object DisposableObject DataStreamSupporter Image RasterImage RasterCachedImage RasterCachedMultipageImage ApngImage

Implements

IDisposable , IObjectWithBounds , IRasterImageArgb32PixelLoader , IRasterImageRawDataLoader , IHasXmpData , IHasMetadata , IMultipageImageExt , IMultipageImage

Κληρονομημένα μέλη

RasterCachedMultipageImage.AdjustBrightness(int) , RasterCachedMultipageImage.AdjustContrast(float) , RasterCachedMultipageImage.AdjustGamma(float, float, float) , RasterCachedMultipageImage.AdjustGamma(float) , RasterCachedMultipageImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedMultipageImage.BinarizeFixed(byte) , RasterCachedMultipageImage.BinarizeBradley(double, int) , RasterCachedMultipageImage.BinarizeBradley(double) , RasterCachedMultipageImage.BinarizeOtsu() , RasterCachedMultipageImage.Crop(Rectangle) , RasterCachedMultipageImage.Crop(int, int, int, int) , RasterCachedMultipageImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedMultipageImage.Grayscale() , RasterCachedMultipageImage.NormalizeHistogram() , RasterCachedMultipageImage.Rotate(float, bool, Color) , RasterCachedMultipageImage.RotateFlip(RotateFlipType) , RasterCachedMultipageImage.RotateFlipAll(RotateFlipType) , RasterCachedMultipageImage.Resize(int, int, ResizeType) , RasterCachedMultipageImage.Resize(int, int, ImageResizeSettings) , RasterCachedMultipageImage.ResizeWidthProportionally(int, ResizeType) , RasterCachedMultipageImage.ResizeHeightProportionally(int, ResizeType) , RasterCachedMultipageImage.ReplaceColor(int, byte, int) , RasterCachedMultipageImage.ReplaceNonTransparentColors(int) , RasterCachedMultipageImage.Filter(Rectangle, FilterOptionsBase) , RasterCachedMultipageImage.NormalizeAngle(bool, Color) , RasterCachedMultipageImage.CacheData() , RasterCachedMultipageImage.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , RasterCachedMultipageImage.Height , RasterCachedMultipageImage.Width , RasterCachedMultipageImage.BitsPerPixel , RasterCachedMultipageImage.IsCached , RasterCachedMultipageImage.PageCount , RasterCachedMultipageImage.Pages , RasterCachedMultipageImage.HasAlpha , RasterCachedMultipageImage.HasTransparentColor , RasterCachedMultipageImage.ImageOpacity , RasterCachedMultipageImage.BackgroundColor , RasterCachedMultipageImage.XmpData , RasterCachedMultipageImage.PageExportingAction , RasterCachedImage.CacheData() , RasterCachedImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedImage.Resize(int, int, ResizeType) , RasterCachedImage.Resize(int, int, ImageResizeSettings) , RasterCachedImage.RotateFlip(RotateFlipType) , RasterCachedImage.Rotate(float, bool, Color) , RasterCachedImage.Crop(Rectangle) , RasterCachedImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedImage.Grayscale() , RasterCachedImage.NormalizeHistogram() , RasterCachedImage.BinarizeFixed(byte) , RasterCachedImage.BinarizeOtsu() , RasterCachedImage.BinarizeBradley(double, int) , RasterCachedImage.BinarizeBradley(double) , RasterCachedImage.AdjustBrightness(int) , RasterCachedImage.AdjustContrast(float) , RasterCachedImage.AdjustGamma(float, float, float) , RasterCachedImage.AdjustGamma(float) , RasterCachedImage.IsCached , RasterImage.RemoveMetadata() , RasterImage.Save(Stream, ImageOptionsBase, Rectangle) , RasterImage.GetModifyDate(bool) , RasterImage.Dither(DitheringMethod, int) , RasterImage.Dither(DitheringMethod, int, IColorPalette) , RasterImage.GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) , RasterImage.GetDefaultArgb32Pixels(Rectangle) , RasterImage.GetDefaultRawData(Rectangle, RawDataSettings) , RasterImage.GetArgb32Pixel(int, int) , RasterImage.GetPixel(int, int) , RasterImage.SetArgb32Pixel(int, int, int) , RasterImage.SetPixel(int, int, Color) , RasterImage.ReadScanLine(int) , RasterImage.ReadArgb32ScanLine(int) , RasterImage.WriteScanLine(int, Color[]) , RasterImage.WriteArgb32ScanLine(int, int[]) , RasterImage.LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.LoadPartialPixels(Rectangle, IPartialPixelLoader) , RasterImage.LoadArgb32Pixels(Rectangle) , RasterImage.LoadArgb64Pixels(Rectangle) , RasterImage.LoadPartialArgb64Pixels(Rectangle, IPartialArgb64PixelLoader) , RasterImage.LoadPixels(Rectangle) , RasterImage.LoadCmykPixels(Rectangle) , RasterImage.LoadCmyk32Pixels(Rectangle) , RasterImage.LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.SaveRawData(byte[], int, Rectangle, RawDataSettings) , RasterImage.SaveArgb32Pixels(Rectangle, int[]) , RasterImage.SavePixels(Rectangle, Color[]) , RasterImage.SaveCmykPixels(Rectangle, CmykColor[]) , RasterImage.SaveCmyk32Pixels(Rectangle, int[]) , RasterImage.SetResolution(double, double) , RasterImage.SetPalette(IColorPalette, bool) , RasterImage.Resize(int, int, ImageResizeSettings) , RasterImage.Rotate(float, bool, Color) , RasterImage.Rotate(float) , RasterImage.BinarizeFixed(byte) , RasterImage.BinarizeOtsu() , RasterImage.BinarizeBradley(double) , RasterImage.BinarizeBradley(double, int) , RasterImage.Blend(Point, RasterImage, Rectangle, byte) , RasterImage.Blend(Point, RasterImage, byte) , RasterImage.Grayscale() , RasterImage.NormalizeHistogram() , RasterImage.AdjustBrightness(int) , RasterImage.AdjustContrast(float) , RasterImage.AdjustGamma(float, float, float) , RasterImage.AdjustGamma(float) , RasterImage.GetSkewAngle() , RasterImage.NormalizeAngle() , RasterImage.NormalizeAngle(bool, Color) , RasterImage.Filter(Rectangle, FilterOptionsBase) , RasterImage.ReplaceColor(Color, byte, Color) , RasterImage.ReplaceColor(int, byte, int) , RasterImage.ReplaceNonTransparentColors(Color) , RasterImage.ReplaceNonTransparentColors(int) , RasterImage.ToBitmap() , RasterImage.PremultiplyComponents , RasterImage.UseRawData , RasterImage.UpdateXmpData , RasterImage.XmpData , RasterImage.RawIndexedColorConverter , RasterImage.RawCustomColorConverter , RasterImage.RawFallbackIndex , RasterImage.RawDataSettings , RasterImage.UsePalette , RasterImage.RawDataFormat , RasterImage.RawLineSize , RasterImage.IsRawDataAvailable , RasterImage.HorizontalResolution , RasterImage.VerticalResolution , RasterImage.HasTransparentColor , RasterImage.HasAlpha , RasterImage.TransparentColor , RasterImage.ImageOpacity , Image.CanLoad(string) , Image.CanLoad(string, LoadOptions) , Image.CanLoad(Stream) , Image.CanLoad(Stream, LoadOptions) , Image.Create(ImageOptionsBase, int, int) , Image.Create(Image[]) , Image.Create(MultipageCreateOptions) , Image.Create(string[], bool) , Image.Create(string[]) , Image.Create(Image[], bool) , Image.GetFileFormat(string) , Image.GetFileFormat(Stream) , Image.GetFittingRectangle(Rectangle, int, int) , Image.GetFittingRectangle(Rectangle, int[], int, int) , Image.Load(string, LoadOptions) , Image.Load(string) , Image.Load(Stream, LoadOptions) , Image.Load(Stream) , Image.GetProportionalWidth(int, int, int) , Image.GetProportionalHeight(int, int, int) , Image.RemoveMetadata() , Image.CanSave(ImageOptionsBase) , Image.Resize(int, int) , Image.Resize(int, int, ResizeType) , Image.Resize(int, int, ImageResizeSettings) , Image.GetDefaultOptions(object[]) , Image.GetOriginalOptions() , Image.ResizeWidthProportionally(int) , Image.ResizeHeightProportionally(int) , Image.ResizeWidthProportionally(int, ResizeType) , Image.ResizeHeightProportionally(int, ResizeType) , Image.ResizeWidthProportionally(int, ImageResizeSettings) , Image.ResizeHeightProportionally(int, ImageResizeSettings) , Image.RotateFlip(RotateFlipType) , Image.Rotate(float) , Image.Crop(Rectangle) , Image.Crop(int, int, int, int) , Image.Save() , Image.Save(string) , Image.Save(string, ImageOptionsBase) , Image.Save(string, ImageOptionsBase, Rectangle) , Image.Save(Stream, ImageOptionsBase) , Image.Save(Stream, ImageOptionsBase, Rectangle) , Image.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , Image.SetPalette(IColorPalette, bool) , Image.BitsPerPixel , Image.Bounds , Image.Container , Image.Height , Image.Palette , Image.UsePalette , Image.Size , Image.Width , Image.InterruptMonitor , Image.BufferSizeHint , Image.AutoAdjustPalette , Image.HasBackgroundColor , Image.FileFormat , Image.BackgroundColor , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.Disposed , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Examples

Το παρακάτω παράδειγμα δείχνει πώς να εξάγετε το μορφότυπο αρχείου APNG apng από άλλο μη animated multi-page μορφότυπο.

using Aspose.Imaging;
                                                                                                                     using Aspose.Imaging.ImageOptions;

                                                                                                                     using (Image image = Image.Load("img4.tif")) {
                                                                                                                         // Setting up the default frame duration
                                                                                                                         image.Save("img4.tif.500ms.png", new ApngOptions() { DefaultFrameTime = 500 }); // 500 ms
                                                                                                                         image.Save("img4.tif.250ms.png", new ApngOptions() { DefaultFrameTime = 250 }); // 250 ms
                                                                                                                     }

Το παρακάτω παράδειγμα δείχνει πώς να εξάγει σε μορφή αρχείου APNG.

using Aspose.Imaging;
                                                                         using Aspose.Imaging.ImageOptions;

                                                                         using (Image image = Image.Load("Animation1.webp")) {
                                                                             // Export to APNG animation with unlimited animation cycles as default
                                                                             image.Save("Animation1.webp.png", new ApngOptions());
                                                                             // Setting up animation cycles
                                                                             image.Save("Animation2.webp.png", new ApngOptions() { NumPlays = 5 }); // 5 cycles
                                                                         }

Το παρακάτω παράδειγμα δείχνει πώς να δημιουργήσετε μια εικόνα APNG από μια άλλη εικόνα μίας σελίδας.

using Aspose.Imaging;
                                                                                                      using Aspose.Imaging.ImageOptions;
                                                                                                      using Aspose.Imaging.FileFormats.Apng;

                                                                                                      const int AnimationDuration = 1000; // 1 s
                                                                                                      const int FrameDuration = 70; // 70 ms
                                                                                                      using (RasterImage sourceImage = (RasterImage)Image.Load("not_animated.png"))
                                                                                                      {
                                                                                                          ApngOptions createOptions = new ApngOptions
                                                                                                          {
                                                                                                              Source = new FileCreateSource("raster_animation.png", false),
                                                                                                              DefaultFrameTime = (uint)FrameDuration,
                                                                                                              ColorType = PngColorType.TruecolorWithAlpha,
                                                                                                          };

                                                                                                          using (ApngImage apngImage = (ApngImage)Image.Create(
                                                                                                              createOptions,
                                                                                                              sourceImage.Width,
                                                                                                              sourceImage.Height))
                                                                                                          {
                                                                                                              // It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;

                                                                                                              int numOfFrames = AnimationDuration / FrameDuration;
                                                                                                              int numOfFrames2 = numOfFrames / 2;

                                                                                                              // Cleaning because the image contains one frame by default
                                                                                                              apngImage.RemoveAllFrames();

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

                                                                                                              // add intermediate frames
                                                                                                              for (int frameIndex = 1; frameIndex < numOfFrames - 1; ++frameIndex)
                                                                                                              {
                                                                                                                  apngImage.AddFrame(sourceImage);
                                                                                                                  ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
                                                                                                                  float gamma = frameIndex >= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
                                                                                                                  lastFrame.AdjustGamma(gamma);
                                                                                                              }

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

                                                                                                              apngImage.Save();
                                                                                                          }
                                                                                                      }

Constructors

ApngImage(Ετικέτες, int, int)

Ξεκινήστε την εργασία με την κατηγορία Aspose.Imaging.FileFormats.Apng.ApngImage ξεκινώνταςΈνα νέο παράδειγμα χωρίς προσπάθεια. ιδανικό για τους προγραμματιστές που θέλουν να ξεκινήσουνχρησιμοποιώντας αντικείμενα ApngImage γρήγορα και αποτελεσματικά στα έργα τους.

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

Parameters

options ApngOptions

Οι επιλογές .

width int

Το πλάτος .

height int

Το ύψος.

Properties

DefaultFrameTime

Εύκολα προσαρμόστε τη διάρκεια του προεπιλεγμένου πλαίσιο για να δημιουργήσετε νέα πλαίσια μεΑυτή η ευέλικτη ιδιότητα. ιδανική για τους προγραμματιστές που επιδιώκουν να προσαρμόσουν το χρονοδιάγραμμααποτελεσματικά στις αναμνήσεις τους.

public uint DefaultFrameTime { get; set; }

Αξία ιδιοκτησίας

uint

Examples

Το παρακάτω παράδειγμα δείχνει πώς να δημιουργήσετε μια εικόνα APNG από μια άλλη εικόνα μίας σελίδας.

using Aspose.Imaging;
                                                                                                      using Aspose.Imaging.ImageOptions;
                                                                                                      using Aspose.Imaging.FileFormats.Apng;

                                                                                                      const int AnimationDuration = 1000; // 1 s
                                                                                                      const int FrameDuration = 70; // 70 ms
                                                                                                      using (RasterImage sourceImage = (RasterImage)Image.Load("not_animated.png"))
                                                                                                      {
                                                                                                          ApngOptions createOptions = new ApngOptions
                                                                                                          {
                                                                                                              Source = new FileCreateSource("raster_animation.png", false),
                                                                                                              DefaultFrameTime = (uint)FrameDuration,
                                                                                                              ColorType = PngColorType.TruecolorWithAlpha,
                                                                                                          };

                                                                                                          using (ApngImage apngImage = (ApngImage)Image.Create(
                                                                                                              createOptions,
                                                                                                              sourceImage.Width,
                                                                                                              sourceImage.Height))
                                                                                                          {
                                                                                                              // It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;

                                                                                                              int numOfFrames = AnimationDuration / FrameDuration;
                                                                                                              int numOfFrames2 = numOfFrames / 2;

                                                                                                              // Cleaning because the image contains one frame by default
                                                                                                              apngImage.RemoveAllFrames();

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

                                                                                                              // add intermediate frames
                                                                                                              for (int frameIndex = 1; frameIndex < numOfFrames - 1; ++frameIndex)
                                                                                                              {
                                                                                                                  apngImage.AddFrame(sourceImage);
                                                                                                                  ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
                                                                                                                  float gamma = frameIndex >= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
                                                                                                                  lastFrame.AdjustGamma(gamma);
                                                                                                              }

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

                                                                                                              apngImage.Save();
                                                                                                          }
                                                                                                      }

FileFormat

Γρήγορη πρόσβαση σε πληροφορίες σχετικά με τη μορφή αρχείου με αυτή την βολική ιδιότητα.Ιδανικό για τους προγραμματιστές που χρειάζονται να ανακτήσουν λεπτομέρειες σχετικά με τη μορφήαπό τα αρχεία του Apng εύκολα.

public override FileFormat FileFormat { get; }

Αξία ιδιοκτησίας

FileFormat

Interlaced

Γρήγορα να προσδιορίσετε αν αυτό το αντικείμενο Aspose.Imaging.FileFormats.Png.PngImage είναι διασυνδεδεμένοιδανικό για τους προγραμματιστές που χρειάζονται να ελέγξουνΗ διασύνδεση της κατάστασης των εικόνων PNG εύκολα.

public bool Interlaced { get; }

Αξία ιδιοκτησίας

bool

NumPlays

Δυσκολεύεστε να ελέγξετε τον αριθμό των φορές που το animation σας τρέχει με αυτόευέλικτη ιδιοκτησία. ιδανικό για τους προγραμματιστές που αναζητούν ακριβή έλεγχοσυμπεριφοράς κινουμένων σχεδίων, με υποστήριξη για ατελείωτη κλίση σε περίπτωσηΗ τιμή είναι ίση με 0.

public int NumPlays { get; set; }

Αξία ιδιοκτησίας

int

PageCount

Αποκτήστε τον συνολικό αριθμό των σελίδων στο αρχείο εικόνας σας χωρίς προσπάθεια με αυτή την ιδιότητα.Ιδανικό για τους προγραμματιστές που χρειάζονται γρήγορη πρόσβαση σε πληροφορίες σελίδας.

public override int PageCount { get; }

Αξία ιδιοκτησίας

int

Pages

Δύσκολη πρόσβαση στις σελίδες της εικόνας σας με αυτή τη βολική ιδιοκτησία.Ιδανικό για τους προγραμματιστές που αναζητούν γρήγορη και εύκολη πρόσβαση σε μεμονωμένες σελίδες για χειραγώγηση.

public override Image[] Pages { get; }

Αξία ιδιοκτησίας

Image [ ]

XmpData

Διαχειριστείτε εύκολα τα μεταδεδομένα XMP που σχετίζονται με τα αρχεία σας χρησιμοποιώντας αυτόευέλικτη ιδιοκτησία. ιδανικό για τους προγραμματιστές που επιδιώκουν πρόσβαση ή ενημέρωσηΜετεωρολογικές πληροφορίες με ευκολία.

public override XmpPacketWrapper XmpData { get; set; }

Αξία ιδιοκτησίας

XmpPacketWrapper

Methods

AddFrame()

Μπορείτε εύκολα να προσθέσετε ένα νέο πλαίσιο στο τέλος της συλλογής σας με αυτόΙδανικό για τους προγραμματιστές που επιθυμούν να επεκτείνουν τιςσυλλογή πλαίσια δυναμικά για τις κινούμενες εικόνες με πολλαπλά πλαίσια.Ένα νέο πλαίσιο θα δημιουργηθεί σύμφωνα με το μέγεθος της τρέχουσας εικόνας.

public ApngFrame AddFrame()

Returns

ApngFrame

Το πρόσφατα δημιουργημένο πλαίσιο APNG.

AddFrame(RasterImage)

Χωρίς προσπάθεια να επεκτείνετε τη συλλογή πλαίσιο σας προσθέτοντας ένα νέο πλαίσιο στο τέλοςΜε αυτή τη διαισθητική μέθοδο. ιδανικό για τους προγραμματιστές που επιδιώκουν να βελτιώσουν τηνΚινούμενα σχέδια με δυναμικές εικόνες.Το περιεχόμενο του νέου πλαισίου θα συμπληρωθεί από την καθορισμένη εικόνα.

public void AddFrame(RasterImage frameImage)

Parameters

frameImage RasterImage

Η εικόνα του πλαισίου.

Examples

Το παρακάτω παράδειγμα δείχνει πώς να δημιουργήσετε μια εικόνα APNG από μια άλλη εικόνα μίας σελίδας.

using Aspose.Imaging;
                                                                                                      using Aspose.Imaging.ImageOptions;
                                                                                                      using Aspose.Imaging.FileFormats.Apng;

                                                                                                      const int AnimationDuration = 1000; // 1 s
                                                                                                      const int FrameDuration = 70; // 70 ms
                                                                                                      using (RasterImage sourceImage = (RasterImage)Image.Load("not_animated.png"))
                                                                                                      {
                                                                                                          ApngOptions createOptions = new ApngOptions
                                                                                                          {
                                                                                                              Source = new FileCreateSource("raster_animation.png", false),
                                                                                                              DefaultFrameTime = (uint)FrameDuration,
                                                                                                              ColorType = PngColorType.TruecolorWithAlpha,
                                                                                                          };

                                                                                                          using (ApngImage apngImage = (ApngImage)Image.Create(
                                                                                                              createOptions,
                                                                                                              sourceImage.Width,
                                                                                                              sourceImage.Height))
                                                                                                          {
                                                                                                              // It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;

                                                                                                              int numOfFrames = AnimationDuration / FrameDuration;
                                                                                                              int numOfFrames2 = numOfFrames / 2;

                                                                                                              // Cleaning because the image contains one frame by default
                                                                                                              apngImage.RemoveAllFrames();

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

                                                                                                              // add intermediate frames
                                                                                                              for (int frameIndex = 1; frameIndex < numOfFrames - 1; ++frameIndex)
                                                                                                              {
                                                                                                                  apngImage.AddFrame(sourceImage);
                                                                                                                  ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
                                                                                                                  float gamma = frameIndex >= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
                                                                                                                  lastFrame.AdjustGamma(gamma);
                                                                                                              }

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

                                                                                                              apngImage.Save();
                                                                                                          }
                                                                                                      }

Exceptions

ArgumentNullException

Το frameimage είναι μηδενικό.

AddFrame(Γυμναστική, uint)

Επέκταση της συλλογής του πλαισίου σας αδιάφορα με την προσθήκη ενός νέου πλαισίου στοιδανικό για τους προγραμματιστές που επιθυμούν να εμπλουτίσουν τηνΚινούμενα σχέδια με εικόνες multi-frame.Το περιεχόμενο του νέου πλαισίου θα συμπληρωθεί από την καθορισμένη εικόνα.

public void AddFrame(RasterImage frameImage, uint frameTime)

Parameters

frameImage RasterImage

Η εικόνα του πλαισίου.

frameTime uint

Η διάρκεια του πλαισίου, σε milliseconds.

Exceptions

ArgumentNullException

Το frameimage είναι μηδενικό.

AddPage(RasterImage)

Προσθέστε μια νέα σελίδα στην εικόνα χωρίς προσπάθεια με αυτή τη διαισθητική μέθοδο.Ιδανικό για προγραμματιστές που επιδιώκουν να επεκτείνουν δυναμικά το περιεχόμενο των αρχείων εικόνας τους.

public void AddPage(RasterImage page)

Parameters

page RasterImage

Η σελίδα που πρέπει να προσθέσετε.

Exceptions

ArgumentNullException

page’ is null.

AdjustBrightness(ΕΝΤ)

Μπορείτε εύκολα να προσαρμόσετε το φωτεινότητα της εικόνας με αυτή τη διαισθητική μέθοδο, χρησιμοποιώντας την καθορισμένη παράμετρο φωτεινότητας. ιδανικό για τους προγραμματιστές που επιδιώκουν να ενισχύσουν ή να μειώσουν τη συνολική φωτεινότητα των εικόνων δυναμικά.

public override void AdjustBrightness(int brightness)

Parameters

brightness int

Η αξία της φωτεινότητας.

AdjustContrast(Πλοία)

Βελτιώστε την αντίθεση του Aspose.Imaging.Imageγια να κάνουν τις λεπτομέρειες να ξεχωρίζουν με αυτή τη διαισθητική μέθοδο. ιδανικό για τους προγραμματιστέςΠροσπαθούν να βελτιώσουν δυναμικά την οπτική σαφήνεια και την επίδραση των εικόνων τους.

public override void AdjustContrast(float contrast)

Parameters

contrast float

Αξία σύγκρουσης (σε εύρος [-100· 100])

AdjustGamma(Πλοία)

Εφαρμόστε τη διόρθωση γκάμα στην εικόνα χρησιμοποιώντας έναν συντελεστή πλωτού σημείουΙδανικό για τους προγραμματιστές που αναζητούν ακριβή έλεγχο χρώματοςστις εικόνες τους.

public override void AdjustGamma(float gamma)

Parameters

gamma float

Gamma για κόκκινα, πράσινα και μπλε κανάλια συντελεστή

AdjustGamma(Πλοία, Πλοία, Πλοία)

Εκτελέστε διόρθωση γκάμα στην εικόνα ξεχωριστά για τα κόκκινα, πράσινα και μπλε κανάλιαχρησιμοποιώντας μεμονωμένους συντελεστές με αυτή τη διαισθητική μέθοδο. ιδανικό για τους προγραμματιστές που αναζητούνγια την ισορροπία των χρωμάτων και τη βελτίωση της οπτικής ποιότητας των εικόνων τους.

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

Parameters

gammaRed float

Γκάμα για τον συντελεστή κόκκινου καναλιού

gammaGreen float

Γκάμα για τον συντελεστή πράσινου καναλιού

gammaBlue float

Γκάμα για τον συντελεστή μπλε κανάλι

BinarizeBradley(ΔΥΟ, ΔΥΟ)

Βιανοποίηση μιας εικόνας χρησιμοποιώντας το αλγόριθμο προσαρμοστικής οριοθέτησης του Bradley χρησιμοποιώντας την ολοκληρωμένη οριοθέτηση εικόνας

public override void BinarizeBradley(double brightnessDifference, int windowSize)

Parameters

brightnessDifference double

Η διαφορά φωτεινότητας μεταξύ του pixel και του μέσου ενός s x s παράθυρο των pixelΚέντρο γύρω από αυτό το pixel.

windowSize int

Το μέγεθος του παραθύρου s x s των pixels που επικεντρώνονται γύρω από αυτό το pixel

BinarizeFixed(Μπίτι)

Δυσκολία δυαδικοποίηση της εικόνας χρησιμοποιώντας ένα προκαθορισμένο όριο με αυτόΙδανικό για τους προγραμματιστές που επιδιώκουν να μετατρέψουν τις εικόνες σε δυαδική μορφή,απλούστευση για περαιτέρω επεξεργασία ή ανάλυση.

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

Εάν η αντίστοιχη γκρίζα αξία ενός pixel είναι μεγαλύτερη από το όριο, η τιμή του255 θα ανατεθεί σε αυτό, 0 διαφορετικά.

BinarizeOtsu()

Εκτελέστε δυαδικότητα στην εικόνα χρησιμοποιώντας το όριο Otsu με αυτή τη διαισθητική μέθοδο.Ιδανικό για τους προγραμματιστές που επιδιώκουν να καθορίσουν αυτόματα το βέλτιστο όριο γιαμετατρέποντας τις εικόνες σε δυαδική μορφή, βελτιώνοντας τη σαφήνεια και την καταλληλότητά τους για περαιτέρω ανάλυση.

public override void BinarizeOtsu()

Crop(Rectangle)

Δυσκολεύεται να καλλιεργήσει την εικόνα για να επικεντρωθεί σε συγκεκριμένες περιοχές με αυτή τη διαισθητική μέθοδο.Ιδανικό για τους προγραμματιστές που επιδιώκουν να βελτιώσουν δυναμικά τη σύνθεση των εικόνων τους.

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

Η Ορθόδοξη.

Crop(Ιντ, Ιντ, Ιντ)

Καλλιεργήστε την εικόνα ενώ προσαρμόζετε τις αλλαγές με αυτή την διαισθητική μέθοδο.Ιδανικό για τους προγραμματιστές που αναζητούν ακριβή έλεγχο της διαδικασίας συγκομιδήςνα επικεντρωθούν σε συγκεκριμένες περιοχές των εικόνων τους Apng.

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

Parameters

leftShift int

Η αριστερή αλλαγή.

rightShift int

Η σωστή αλλαγή.

topShift int

Η κορυφαία αλλαγή.

bottomShift int

Η κατώτερη αλλαγή.

Dither(ΔΙΤΥΡΙΑΣΜΟΔΟΣ, INT, IColorPalette)

Εφαρμόστε εύκολα τα αποτελέσματα διτρήσεως στην τρέχουσα εικόνα με αυτή τη διαισθητική μέθοδο.Ιδανικό για τους προγραμματιστές που επιθυμούν να προσθέσουν κλωστοϋφαντουργία ή να μειώσουν το χρώμα στις εικόνες τους.

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

Parameters

ditheringMethod DitheringMethod

Η μεθοδολογία της διαιτησίας.

bitsCount int

Οι τελευταίες μπάτσες μετράνε για διτρισμό.

customPalette IColorPalette

Η συνηθισμένη παλέτα για διτρισμό.

Filter(Πλαίσιο, FilterOptionsBase)

Εφαρμόστε εύκολα τα φίλτρα στο καθορισμένο ορθογώνιο της εικόνας με αυτόΙδανικό για τους προγραμματιστές που επιδιώκουν να βελτιώσουν ή να τροποποιήσουν συγκεκριμένες περιοχές.

public override void Filter(Rectangle rectangle, FilterOptionsBase options)

Parameters

rectangle Rectangle

Η Ορθόδοξη.

options FilterOptionsBase

Οι επιλογές .

GetDefaultOptions(αντικείμενο[])

Αποκαταστήστε τις προεπιλεγμένες επιλογές χωρίς προσπάθεια με αυτή την απλή μέθοδο.Ιδανικό για τους προγραμματιστές που αναζητούν γρήγορη πρόσβαση στις προεπιλεγμένες ρυθμίσεις εικόνας Apng.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object [ ]

Τα επιχειρήματα .

Returns

ImageOptionsBase

Προεπιλεγμένες επιλογές

GetModifyDate(Μπόλ)

Αποκτήστε γρήγορα την ημερομηνία και την ώρα κατά την οποία η εικόνα πόρων τροποποιήθηκε τελευταία φοράιδανικό για τους προγραμματιστές που χρειάζονται την παρακολούθηση των αλλαγώνκαι αποτελεσματική διαχείριση των πόρων.

public override DateTime GetModifyDate(bool useDefault)

Parameters

useDefault bool

εάν ορίσετε στο “πραγματικό”, χρησιμοποιήστε τις πληροφορίες από το FileInfo ως προεπιλεγμένη τιμή.

Returns

DateTime

Η ημερομηνία και η ώρα της εικόνας πόρων τροποποιήθηκε τελευταία.

GetOriginalOptions()

Ανακτήστε τις επιλογές που βασίζονται στις αρχικές ρυθμίσεις αρχείων χωρίς προσπάθεια με αυτή τη διαισθητική μέθοδο.Ιδανικό για τους προγραμματιστές που επιδιώκουν να έχουν πρόσβαση και να χρησιμοποιούν ρυθμίσεις που ταιριάζουν με τα χαρακτηριστικάαπό το αρχικό αρχείο.Αυτό μπορεί να είναι χρήσιμο για τη διατήρηση του βάθους του bit και άλλων παραμέτρων της αρχικής εικόνας αμετάβλητη.Για παράδειγμα, αν φορτώσουμε μια μαύρη-λευκή εικόνα PNG με 1 bit ανά pixel και στη συνέχεια την αποθηκεύουμε χρησιμοποιώντας τοΜε τη μέθοδο Aspose.Imaging.DataStreamSupporter.Save(System.String), θα παράγεται η εικόνα PNG εξόδου με 8 bit ανά pixel.Για να αποφύγετε αυτό και να αποθηκεύσετε την εικόνα PNG με 1 bit ανά pixel, χρησιμοποιήστε αυτή τη μέθοδο για να πάρετε τις αντίστοιχες επιλογές αποθήκευσης και να τις περάσετεΗ μέθοδος Aspose.Imaging.Image.Save (System.String,Aspose.Imaging.ImageOptionsBase) είναι η δεύτερη παράμετρος.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Οι επιλογές βασίζονται στις αρχικές ρυθμίσεις αρχείου.

GetPagesAsEnumerable()

Πάρτε τις σελίδες ως αριθμητικές.

protected override IEnumerable<image/> GetPagesAsEnumerable()

Returns

IEnumerable &lt · Image >

Οι ίδιες οι σελίδες όπως αναφέρονται.

Grayscale()

Μπορείτε εύκολα να μετατρέψετε την εικόνα σε γκρίζα εκπροσώπηση με αυτή τη διαισθητική μέθοδο.Ιδανικό για τους προγραμματιστές που επιδιώκουν να μετατρέψουν χρωματικές εικόνες σε γκρίζα κλίμακα, απλοποιώντας τιςδιαδικασίες απεικόνισης ή ανάλυσης.

public override void Grayscale()

InsertFrame(ΕΝΤ)

Εισάγετε εύκολα ένα νέο πλαίσιο στη συλλογή frame στο καθορισμένοιδανικό για τους προγραμματιστές που αναζητούν ακριβή έλεγχοΗ διάταξη των πλαίσια στις κινουμένων σχεδίων τους με εικόνες πολλαπλών πλαίσων.Ένα νέο πλαίσιο θα δημιουργηθεί σύμφωνα με το μέγεθος της τρέχουσας εικόνας.

public ApngFrame InsertFrame(int index)

Parameters

index int

Ο δείκτης .

Returns

ApngFrame

Το πρόσφατα δημιουργημένο πλαίσιο APNG.

Exceptions

ArgumentOutOfRangeException

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

InsertFrame(Ετικέτες RasterImage)

Εισάγετε ένα νέο πλαίσιο στη δική σας συλλογή πλαίσιο στον καθορισμένο δείκτη.Το περιεχόμενο του νέου πλαισίου θα συμπληρωθεί από την καθορισμένη εικόνα.

public void InsertFrame(int index, RasterImage frameImage)

Parameters

index int

Ο δείκτης .

frameImage RasterImage

Η εικόνα του πλαισίου.

Exceptions

ArgumentOutOfRangeException

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

ArgumentNullException

Το frameimage είναι μηδενικό.

InsertFrame(ΠΕΡΙΣΣΟΤΕΡΑ, ΡΑΣΤΕΡΕΜΑΙΓΗ, UINT)

Εισάγετε ένα νέο πλαίσιο στη δική σας συλλογή πλαίσιο στον καθορισμένο δείκτη.Το περιεχόμενο του νέου πλαισίου θα συμπληρωθεί από την καθορισμένη εικόνα.

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

Parameters

index int

Ο δείκτης .

frameImage RasterImage

Η εικόνα του πλαισίου.

frameTime uint

Η διάρκεια του πλαισίου, σε milliseconds.

Exceptions

ArgumentOutOfRangeException

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

ArgumentNullException

Το frameimage είναι μηδενικό.

PopFrameAt(ΕΝΤ)

Αφαιρέστε και ανακτήστε το πλαίσιο στον καθορισμένο δείκτη από τη συλλογή frame σαςΜε αυτή τη διαισθητική μέθοδο. ιδανικό για τους προγραμματιστές που αναζητούν αποτελεσματική διαχείρισημε τα πλαίσια των κινουμένων σχεδίων.

public ApngFrame PopFrameAt(int index)

Parameters

index int

Ο δείκτης .

Returns

ApngFrame

Το απομακρυσμένο πλαίσιο APNG.

Exceptions

ArgumentOutOfRangeException

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

ReleaseManagedResources()

Απελευθέρωση των διαχειριζόμενων πόρων. βεβαιωθείτε ότι δεν κυκλοφορούν μη διαχειριζόμενοι πόροι εδώ, καθώς μπορεί να έχουνΈχει ήδη απελευθερωθεί.

protected override void ReleaseManagedResources()

RemoveAllFrames()

Καθαρίστε τη συλλογή πλαίσιο αφαιρώντας όλα τα πλαίσια με αυτή τη διαισθητική μέθοδο.Ιδανικό για τους προγραμματιστές που επιδιώκουν να επαναπροσδιορίσουν ή να ανανεώσουν τις κινουμένων σχεδίων τους.

public void RemoveAllFrames()

Examples

Το παρακάτω παράδειγμα δείχνει πώς να δημιουργήσετε μια εικόνα APNG από μια άλλη εικόνα μίας σελίδας.

using Aspose.Imaging;
                                                                                                      using Aspose.Imaging.ImageOptions;
                                                                                                      using Aspose.Imaging.FileFormats.Apng;

                                                                                                      const int AnimationDuration = 1000; // 1 s
                                                                                                      const int FrameDuration = 70; // 70 ms
                                                                                                      using (RasterImage sourceImage = (RasterImage)Image.Load("not_animated.png"))
                                                                                                      {
                                                                                                          ApngOptions createOptions = new ApngOptions
                                                                                                          {
                                                                                                              Source = new FileCreateSource("raster_animation.png", false),
                                                                                                              DefaultFrameTime = (uint)FrameDuration,
                                                                                                              ColorType = PngColorType.TruecolorWithAlpha,
                                                                                                          };

                                                                                                          using (ApngImage apngImage = (ApngImage)Image.Create(
                                                                                                              createOptions,
                                                                                                              sourceImage.Width,
                                                                                                              sourceImage.Height))
                                                                                                          {
                                                                                                              // It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;

                                                                                                              int numOfFrames = AnimationDuration / FrameDuration;
                                                                                                              int numOfFrames2 = numOfFrames / 2;

                                                                                                              // Cleaning because the image contains one frame by default
                                                                                                              apngImage.RemoveAllFrames();

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

                                                                                                              // add intermediate frames
                                                                                                              for (int frameIndex = 1; frameIndex &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(ΕΝΤ)

Απομακρύνετε το πλαίσιο στον καθορισμένο δείκτη από τη συλλογή σας χωρίς σφραγίδαΙδανικό για τους προγραμματιστές που επιδιώκουν αυστηρή διαχείριση των πλαισίωνστις εικόνες του πολυπλαίσιο.Το πλαίσιο που θα διαγραφεί θα διαγραφεί.

public void RemoveFrameAt(int index)

Parameters

index int

Ο δείκτης .

Exceptions

ArgumentOutOfRangeException

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

ResetDefaultImage()

Αφαιρέστε μια προεπιλεγμένη εικόνα με αυτή τη διαισθητική μέθοδο.Ιδανικό για τους προγραμματιστές που επιδιώκουν να επαναφέρετε ή να διαγράψετε την προεπιλεγμένη εικόνα στην κινούμευσή τους.Μετά από αυτό, η προεπιλεγμένη εικόνα είναι το πρώτο πλαίσιο στην ίδια τη συλλογή πλαίσιο(Δεν μπορεί να διαγραφεί χρησιμοποιώντας αυτή τη μέθοδο).

public void ResetDefaultImage()

Resize(ΠΕΡΙΣΣΟΤΕΡΑ, ΕΠΙΧΕΙΡΗΣΗ)

Ανακαλύψτε την εικόνα με αυτή την διαισθητική μέθοδο. ιδανικό για τους προγραμματιστέςΠροσπαθούν να προσαρμόσουν δυναμικά τις διαστάσεις των εικόνων τους.

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

Parameters

newWidth int

Το νέο πλάτος.

newHeight int

Το νέο ύψος.

resizeType ResizeType

Ο τύπος αναζωογόνησης.

Resize(int, int, ImageResizeΕπεξεργασία)

Αναζωογονεί την εικόνα.

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

Parameters

newWidth int

Το νέο πλάτος.

newHeight int

Το νέο ύψος.

settings ImageResizeSettings

Η αναδιάρθρωση των ρυθμίσεων.

ResizeHeightProportionally(ΠΕΡΙΣΣΟΤΕΡΑ, ΑΝΑΚΟΙΝΩΣΗ)

Προσαρμόστε εύκολα το ύψος της εικόνας σας, διατηρώντας παράλληλα τις αναλογίες τηςΜε αυτή τη διαισθητική μέθοδο. ιδανικό για τους προγραμματιστές που θέλουν να αναζωογονήσουν τις εικόνεςδυναμικά, διατηρώντας παράλληλα την αναλογία της πτυχής τους.

public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)

Parameters

newHeight int

Το νέο ύψος.

resizeType ResizeType

Τύπος της αναζωογόνησης.

ResizeWidthProportionally(ΠΕΡΙΣΣΟΤΕΡΑ, ΑΝΑΚΟΙΝΩΣΗ)

Αναλογικά αναστρέψτε το πλάτος της εικόνας χωρίς προσπάθεια με αυτή τη διαισθητική μέθοδο.Ιδανικό για τους προγραμματιστές που επιδιώκουν να διατηρήσουν την αναλογία πτυχών των εικόνων τους ενώΠροσαρμογή των διαστάσεων.

public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)

Parameters

newWidth int

Το νέο πλάτος.

resizeType ResizeType

Τύπος της αναζωογόνησης.

Rotate(Φλωτ, μπολ, χρώμα)

Γυρίστε την εικόνα γύρω από το κέντρο της με αυτή την διαισθητική μέθοδο.Ιδανικό για τους προγραμματιστές που επιδιώκουν να προσαρμόσουν δυναμικά την κατεύθυνση των εικόνων τους.

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

Parameters

angle float

Η γωνία περιστροφής σε βαθμούς. θετικές τιμές θα περιστρέφονται με το ρολόι.

resizeProportionally bool

αν ρυθμιστείτε στο “πραγματικό” θα έχετε το μέγεθος της εικόνας σας αλλάξει ανάλογα με τα περιστρεφόμενα ορθογώνια (κενά σημεία) προβολές σε άλλες περιπτώσεις που αφήνουν τις διαστάσεις αγγίξει και μόνο εσωτερικό περιεχόμενο εικόνας περιστρέφονται.

backgroundColor Color

Το χρώμα του φόντου.

RotateFlip(RotateFlipType)

Μειωμένη χειραγώγηση του ενεργού πλαισίου με το περιστρέφοντάς, το πλέγμα, ή και τα δύοΜε αυτή τη διαισθητική μέθοδο. ιδανικό για τους προγραμματιστές που επιδιώκουν να προσαρμόσουνΠροσανατολισμός εικόνας.

public override void RotateFlip(RotateFlipType rotateFlipType)

Parameters

rotateFlipType RotateFlipType

Ο τύπος του ροταμένου φλιπ.

SaveData(Stream)

Αποθηκεύει τα δεδομένα.

protected override void SaveData(Stream stream)

Parameters

stream Stream

Η ροή για να αποθηκεύσετε τα δεδομένα.

SetDefaultImage(RasterImage)

Ρυθμίστε την καθορισμένη εικόνα raster ως προεπιλεγμένη εικόνα για την τρέχουσα animationχωρίς προσπάθεια με αυτή τη μέθοδο. ιδανικό για τους προγραμματιστές που επιδιώκουν να προσαρμόσουνΗ προεπιλεγμένη εικόνα στις κινούμενες εικόνες.

public void SetDefaultImage(RasterImage image)

Parameters

image RasterImage

Η εικόνα .

Exceptions

ArgumentNullException

Η εικόνα είναι μηδέν.

UpdateDimensions(ΕΝΤ, ΕΝΤ)

Αναβαθμίζει τις διαστάσεις της εικόνας.

protected override void UpdateDimensions(int newWidth, int newHeight)

Parameters

newWidth int

Το νέο πλάτος της εικόνας.

newHeight int

Το νέο ύψος της εικόνας.

UpdateMetadata()

Αναβαθμίζει τα μεταδεδομένα εικόνας.

protected override void UpdateMetadata()
 Ελληνικά