Class ApngImage

Class ApngImage

Nazwa przestrzeń: Aspose.Imaging.FileFormats.Apng Zgromadzenie: Aspose.Imaging.dll (25.4.0)

PNG (Animated Portable Network Graphics) plik obrazuFormat jest wszechstronnym rozwiązaniem dla deweloperów, którzy chcą zintegrowaćzawartość animowana do ich aplikacji. ta API oferuje szerokiekontrolę nad ustawieniami ram, umożliwiając użytkownikom określenie ram specyficznychparametry, w tym długość przepływu i ustawienia plików PNG.narzędzie bogate w funkcje, można bez wysiłku zarządzać i zoptymalizować wyświetlaczobrazów APNG, importowania i eksportu obrazu, zwiększając dynamikę iInteraktywne aspekty Twoich aplikacji.

[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

Dziedziczeni członkowie

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

Poniższy przykład pokazuje, jak wyeksportować format pliku APNG z innego nieanimowanego formatu 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
                                                                                                                     }

Poniższy przykład pokazuje, jak eksportować do formatu pliku 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
                                                                         }

Poniższy przykład pokazuje, jak utworzyć obraz APNG z innego obrazu pojedynczej strony rastera.

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

Rozpocznij pracę z klasą Aspose.Imaging.FileFormats.Apng. ApngImage poprzez inicjalizacjęNowy przykład bez wysiłku. doskonały dla deweloperów, którzy chcą rozpocząćkorzystać z obiektów ApngImage szybko i skutecznie w swoich projektach.

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

Parameters

options ApngOptions

i opcji .

width int

i szerokości .

height int

i wysokość .

Properties

DefaultFrameTime

Łatwo dostosować czas trwania domyślnej ramki do tworzenia nowych ramto elastyczna właściwość. doskonały dla deweloperów, którzy chcą dostosować czas ramowyEfektywnie w ich animacjach.

public uint DefaultFrameTime { get; set; }

Wartość nieruchomości

uint

Examples

Poniższy przykład pokazuje, jak utworzyć obraz APNG z innego obrazu pojedynczej strony rastera.

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

Szybki dostęp do informacji o formacie pliku z tym wygodnym obiektem.Idealny dla deweloperów, którzy potrzebują szczegółów dotyczących formatuPrzeczytaj o plikach z łatwością.

public override FileFormat FileFormat { get; }

Wartość nieruchomości

FileFormat

Interlaced

Szybko ustalić, czy ten obiekt Aspose.Imaging.FileFormats.Png. PngImage jest połączonyz tym wygodnym obiektem. idealny dla deweloperów, którzy muszą sprawdzićŁatwo łączyć status obrazów PNG.

public bool Interlaced { get; }

Wartość nieruchomości

bool

NumPlays

Bez wysiłku kontrolować liczbę razy Twoja animacja biega z tymwszechstronne właściwości. doskonały dla deweloperów, którzy szukają dokładnej kontroli nadzachowania animacji, z wsparciem dla nieskończonego przepływu w przypadkuWartość równa się 0.

public int NumPlays { get; set; }

Wartość nieruchomości

int

PageCount

Odzyskuj całkowitą liczbę stron w pliku obrazu bez wysiłku z tą własnością.Idealny dla deweloperów, którzy potrzebują szybkiego dostępu do informacji o liczbie stron.

public override int PageCount { get; }

Wartość nieruchomości

int

Pages

Bezproblemowy dostęp do stron Twojego obrazu z tym wygodnym obiektem.Idealny dla deweloperów poszukujących szybkiego i łatwego dostępu do poszczególnych stron do manipulacji.

public override Image[] Pages { get; }

Wartość nieruchomości

Image [ ]

XmpData

Szybko zarządzać metadany XMP powiązane z plikami za pomocą tegowszechstronne właściwości. doskonały dla deweloperów, którzy szukają dostępu lub aktualizacjiInformacje o metadatach z łatwością.

public override XmpPacketWrapper XmpData { get; set; }

Wartość nieruchomości

XmpPacketWrapper

Methods

AddFrame()

Łatwo dodać nowy ramy do końca swojej kolekcji ramowej z tymIdealny dla deweloperów, którzy chcą rozwijać swojeKolekcja ram dynamicznie do animacji z obrazami multi-frame.Nowe ramy zostaną utworzone w zależności od wielkości bieżącego obrazu.

public ApngFrame AddFrame()

Returns

ApngFrame

Nowo utworzony ramy APNG.

AddFrame(RasterImage)

Nieprzyjemnie rozszerzyć kolekcję ram poprzez dodanie nowej ramki do końcaz tą intuicyjną metodą. doskonały dla deweloperów, którzy chcą poprawić swojeAnimacje obrazów wielowymiarowych dynamicznie.Zawartość nowego ramy zostanie wypełniona z określonego obrazu.

public void AddFrame(RasterImage frameImage)

Parameters

frameImage RasterImage

Ramy obrazu.

Examples

Poniższy przykład pokazuje, jak utworzyć obraz APNG z innego obrazu pojedynczej strony rastera.

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 jest zero.

AddFrame(Szydło, uint)

Rozszerz swoją kolekcję ramową bezprzewodowo, dodając nową ramę doz tą intuicyjną metodą. idealny dla deweloperów, którzy chcą wzbogacić swojeAnimacja obrazów multi-frame.Zawartość nowego ramy zostanie wypełniona z określonego obrazu.

public void AddFrame(RasterImage frameImage, uint frameTime)

Parameters

frameImage RasterImage

Ramy obrazu.

frameTime uint

Czas trwania ramy w milisekundach.

Exceptions

ArgumentNullException

FrameImage jest zero.

AddPage(RasterImage)

Dodaj nową stronę do obrazu bez wysiłku za pomocą tej intuicyjnej metody.Idealny dla deweloperów, którzy chcą dynamicznie rozszerzyć zawartość swoich plików obrazowych.

public void AddPage(RasterImage page)

Parameters

page RasterImage

Strona do dodania.

Exceptions

ArgumentNullException

page’ is null.

AdjustBrightness(Int)

Łatwo dostosować jasność " obrazu za pomocą tej intuicyjnej metody, przy użyciu określonego parametru jasności.

public override void AdjustBrightness(int brightness)

Parameters

brightness int

Wartość jasności .

AdjustContrast(Floty)

Wzmocnienie kontrastu Aspose.Imaging.Imageaby szczegóły wyróżniały się tą intuicyjną metodą. idealny dla deweloperówdążenie do poprawy wizualnej jasności i wpływu ich obrazów dynamicznie.

public override void AdjustContrast(float contrast)

Parameters

contrast float

Wartość kontrastu (w zakresie [-100; 100])

AdjustGamma(Floty)

Zastosuj korektę gamma do obrazu za pomocą współczynnika pływającego punktuIdealny dla deweloperów poszukujących precyzyjnej kontroli koloróww ich obrazach.

public override void AdjustGamma(float gamma)

Parameters

gamma float

Gamma dla współczynnika czerwonych, zielonych i niebieskich kanałów

AdjustGamma(float, float i float)

Wykonaj korektę gamma na obrazie oddzielnie dla czerwonych, zielonych i niebieskich kanałówwykorzystanie indywidualnych współczynników za pomocą tej intuicyjnej metody. idealny dla deweloperów, którzy szukająWzmacnia równowagę kolorów i poprawia jakość wizualną ich obrazów.

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

Parameters

gammaRed float

Gamma dla współczynnika czerwonego kanału

gammaGreen float

Gamma dla współczynnika zielonego kanału

gammaBlue float

Gamma dla współczynnika niebieskiego kanału

BinarizeBradley(podwójne, int)

Binaryzacja obrazu za pomocą adaptowego algorytmu granicznego Bradleya za pomocą integralnego granicznego obrazu

public override void BinarizeBradley(double brightnessDifference, int windowSize)

Parameters

brightnessDifference double

Różnica jasności pomiędzy pikselem a przeciętnym oknem s x s pixelówWystarczy skupić się wokół tego piksela.

windowSize int

Rozmiar okna s x s pikseli skoncentrowane wokół tego piksela

BinarizeFixed(byte)

Bez wysiłku binaryzuj obraz za pomocą uprzednio zdefiniowanej granicy z tymIdealny dla deweloperów, którzy chcą przekształcić obrazy w formę binarną,Uproszczanie ich do dalszej przetwarzania lub analizy.

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

W przypadku, gdy odpowiednia wartość szarowa piksela jest większa niż granica, wartości255 zostanie przydzielone do niego, 0 inaczej.

BinarizeOtsu()

Wykonaj binaryzację obrazu przy użyciu granicy Otsu za pomocą tej intuicyjnej metody.Idealny dla deweloperów, którzy chcą automatycznie określić optymalny limitKonwertowanie obrazów w kształt binarny, zwiększając ich jasność i dopasowanie do dalszej analizy.

public override void BinarizeOtsu()

Crop(Rectangle)

Bez wysiłku zbierać obraz, aby skupić się na określonych obszarach za pomocą tej intuicyjnej metody.Idealny dla deweloperów, którzy starają się dynamicznie usprawnić kompozycję swoich obrazów.

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

z rektangulą .

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

Roślina obrazu podczas dostosowania przesuwów bezprzewodowo za pomocą tej intuicyjnej metody.Idealny dla deweloperów poszukujących dokładnej kontroli nad procesem gromadzeniaKoncentruj się na konkretnych obszarach swoich obrazów Apng.

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

Parameters

leftShift int

Po lewej zmianie.

rightShift int

Prawdziwa zmiana

topShift int

Najwyższa zmiana

bottomShift int

W dolnej zmianie.

Dither(DitheringMetoda, int, IColorPalette)

Łatwo zastosować efekty dystrybucyjne do bieżącego obrazu za pomocą tej intuicyjnej metody.Idealny dla deweloperów, którzy chcą dodać teksturę lub zmniejszyć kolorowe powiązania w swoich obrazach.

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

Parameters

ditheringMethod DitheringMethod

Metoda dystrybucji .

bitsCount int

Ostatnie bity liczą na dystrybucję.

customPalette IColorPalette

Przygotowuje się paletę do Dithering.

Filter(Rectangle, FilterOptionsBase)

Nieprzyjemnie zastosować filtry do określonego rektanu obrazu z tymIdealny dla deweloperów, którzy chcą poprawić lub zmienić określone obszary.

public override void Filter(Rectangle rectangle, FilterOptionsBase options)

Parameters

rectangle Rectangle

z rektangulą .

options FilterOptionsBase

i opcji .

GetDefaultOptions(Obiekt[])

Odzyskiwanie opcji domyślnych bez wysiłku za pomocą tej prostej metody.Idealny dla deweloperów poszukujących szybkiego dostępu do domyślnych ustawień obrazów Apng.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object [ ]

i argumentów .

Returns

ImageOptionsBase

Opcje domyślne

GetModifyDate(Bool)

Szybko uzyskać datę i godzinę, kiedy obraz zasobowy został ostatnio zmodyfikowanyIdealny dla deweloperów, którzy muszą śledzić zmianyi skutecznie zarządzać zasobami.

public override DateTime GetModifyDate(bool useDefault)

Parameters

useDefault bool

Jeśli ustawione na “prawdziwe”, użyj informacji z FileInfo jako wartości domyślnej.

Returns

DateTime

Data i czas ostatniej modyfikacji obrazu zasobów.

GetOriginalOptions()

Retrieve opcje oparte na oryginalnych ustawieniach plików bez wysiłku za pomocą tej intuicyjnej metody.Idealny dla deweloperów, którzy chcą uzyskać dostęp i korzystać z ustawień, które odpowiadają cechomz oryginalnego pliku.To może być przydatne, aby utrzymać głębokość i inne parametry oryginalnego obrazu niezmienione.Na przykład, jeśli ładujemy czarno-biały obraz PNG o 1 bit na piksel, a następnie przechowujemy go za pomocąAspose.Imaging.DataStreamSupporter.Save(System.String) metoda, wydajny obraz PNG z 8-bitowym na piksel zostanie wyprodukowany.Aby tego uniknąć i zaoszczędzić obraz PNG z 1 bitem na piksel, użyj tej metody, aby uzyskać odpowiednie opcje oszczędnościowe i przejść jedo metody Aspose.Imaging.Image.Save(System.String,_Wl17.ImageOptionsBase) jako drugiego parametru.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Opcje oparte na oryginalnych ustawieniach pliku.

GetPagesAsEnumerable()

Strony są jak wymienione.

protected override IEnumerable<image/> GetPagesAsEnumerable()

Returns

IEnumerable • < Image >

Swoje strony są jak wymienione.

Grayscale()

Łatwo przekształcić obraz w jego grayscale reprezentacji za pomocą tej intuicyjnej metody.Idealny dla deweloperów, którzy chcą przekształcić kolorowe obrazy w szary skala, uproszczając ichWizualizacja lub procesy analizy.

public override void Grayscale()

InsertFrame(Int)

Bez wysiłku wprowadź nowy ramy do swojej kolekcji ramowej w określonejz tą intuicyjną metodą. idealny dla deweloperów szukających dokładnej kontroli nadukład ram w ich animacjach obrazów multi-frame.Nowe ramy zostaną utworzone w zależności od wielkości bieżącego obrazu.

public ApngFrame InsertFrame(int index)

Parameters

index int

To jest indeks.

Returns

ApngFrame

Nowo utworzony ramy APNG.

Exceptions

ArgumentOutOfRangeException

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

InsertFrame(Tagi: RasterImage)

Wprowadź nowy ramy do własnej kolekcji ramowej na określonym indeksie.Zawartość nowego ramy zostanie wypełniona z określonego obrazu.

public void InsertFrame(int index, RasterImage frameImage)

Parameters

index int

To jest indeks.

frameImage RasterImage

Ramy obrazu.

Exceptions

ArgumentOutOfRangeException

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

ArgumentNullException

FrameImage jest zero.

InsertFrame(wskaźnik, RasterImage, uint)

Wprowadź nowy ramy do własnej kolekcji ramowej na określonym indeksie.Zawartość nowego ramy zostanie wypełniona z określonego obrazu.

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

Parameters

index int

To jest indeks.

frameImage RasterImage

Ramy obrazu.

frameTime uint

Czas trwania ramy w milisekundach.

Exceptions

ArgumentOutOfRangeException

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

ArgumentNullException

FrameImage jest zero.

PopFrameAt(Int)

Usunąć i odzyskać ramy w określonym indeksie z kolekcji ramz tą intuicyjną metodą. doskonały dla deweloperów poszukujących skutecznego zarządzaniaRękawice w ich animacjach.

public ApngFrame PopFrameAt(int index)

Parameters

index int

To jest indeks.

Returns

ApngFrame

Usunięte ramy APNG.

Exceptions

ArgumentOutOfRangeException

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

ReleaseManagedResources()

Uwolnij zarządzane zasoby. upewnij się, że nie są one uwalniane tutaj, ponieważ mogą byćJest już uwalniany.

protected override void ReleaseManagedResources()

RemoveAllFrames()

Wyczyścić kolekcję ram poprzez usunięcie wszystkich ram za pomocą tej intuicyjnej metody.Idealny dla deweloperów, którzy chcą ponownie ustawić lub odświeżyć swoje animacje.

public void RemoveAllFrames()

Examples

Poniższy przykład pokazuje, jak utworzyć obraz APNG z innego obrazu pojedynczej strony rastera.

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)

Usunąć ramy na określonym indeksie z kolekcji ram bezprzewodowoIdealny dla deweloperów poszukujących rzetelnego zarządzania ramamiw ich wielokątnych obrazach.Ramy, które mają zostać usunięte, zostaną zlikwidowane.

public void RemoveFrameAt(int index)

Parameters

index int

To jest indeks.

Exceptions

ArgumentOutOfRangeException

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

ResetDefaultImage()

Usunąć wcześniej ustawiony obraz domyślny za pomocą tej intuicyjnej metody.Idealny dla deweloperów, którzy chcą ponownie ustawić lub usunąć domyślny obraz w swojej animacji.Po tym, domyślny obraz jest pierwszą ramą w własnej kolekcji ram(nie można go usunąć za pomocą tej metody).

public void ResetDefaultImage()

Resize(int, int, resizeType)

Odśwież obraz bezprzewodowo za pomocą tej intuicyjnej metody. doskonały dla deweloperówStaramy się dynamicznie dostosować wymiary swoich obrazów.

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

Parameters

newWidth int

Nowa szerokość .

newHeight int

Nowa wysokość .

resizeType ResizeType

Ten rodzaj rewizji.

Resize(int, int, ImageResizeSettings)

Odśwież obraz.

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

Parameters

newWidth int

Nowa szerokość .

newHeight int

Nowa wysokość .

settings ImageResizeSettings

Zmiany w ustawieniach.

ResizeHeightProportionally(Tłumaczenie, ResizeType)

Nieprzyjemnie dostosować wysokość obrazu, jednocześnie utrzymując jego proporcjez tą intuicyjną metodą. doskonały dla deweloperów, którzy chcą odtworzyć obrazyDynamicznie, zachowując jednocześnie ich stosunek aspektowy.

public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)

Parameters

newHeight int

Nowa wysokość .

resizeType ResizeType

Rodzaj rezygnacji.

ResizeWidthProportionally(Tłumaczenie, ResizeType)

Proporcjonalnie odśwież szerokość obrazu bez wysiłku za pomocą tej intuicyjnej metody.Idealny dla deweloperów, którzy chcą utrzymać stosunek aspektów swoich obrazów podczasdostosowanie ich wymiarów.

public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)

Parameters

newWidth int

Nowa szerokość .

resizeType ResizeType

Rodzaj rezygnacji.

Rotate(Float, Bool, Kolor)

Obróć obraz wokół jego centrum bez wysiłku za pomocą tej intuicyjnej metody.Idealny dla deweloperów, którzy chcą dynamicznie dostosować orientację swoich obrazów.

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

Parameters

angle float

Kąt obrotowy w stopniach. wartości pozytywne będą obrotować zegarem.

resizeProportionally bool

Jeśli ustawisz na “prawdziwy”, zmienisz rozmiar obrazuw zależności od obrotowych projekcji rektangularnych (punktu węgielnego) w innym przypadku, które pozostawiają wymiary nie dotknięte i tylko wewnętrzne treści obrazów są obrotowane.

backgroundColor Color

Kolor z tła.

RotateFlip(RotateFlipType)

Nieprzyjemnie manipuluj aktywnym ramy, rotując, pływając lub obydwiez tą intuicyjną metodą. idealny dla deweloperów, którzy chcą dostosowaćOrientacje ramy obrazu.

public override void RotateFlip(RotateFlipType rotateFlipType)

Parameters

rotateFlipType RotateFlipType

Rodzaj rotacji flip.

SaveData(Stream)

Oszczędzaj dane.

protected override void SaveData(Stream stream)

Parameters

stream Stream

Przepływ do przechowywania danych do.

SetDefaultImage(RasterImage)

Ustaw określony obraz rastera jako domyślny obraz dla aktualnej animacjibez wysiłku z tą metodą. doskonały dla deweloperów, którzy chcą dostosowaćZdjęcie domyślne w ich animacjach.

public void SetDefaultImage(RasterImage image)

Parameters

image RasterImage

i obrazu .

Exceptions

ArgumentNullException

Zdjęcie jest zero.

UpdateDimensions(i int, int)

Aktualizacja wymiarów obrazu.

protected override void UpdateDimensions(int newWidth, int newHeight)

Parameters

newWidth int

Nowy widok obrazu.

newHeight int

Nowa wysokość obrazu.

UpdateMetadata()

Aktualizacja metadatu obrazu.

protected override void UpdateMetadata()
 Polski