Class ApngImage

Class ApngImage

Nama dari : Aspose.Imaging.FileFormats.Apng Pengumpulan: Aspose.Imaging.dll (25.4.0)

API untuk Animated PNG (Animated Portable Network Graphics) file gambarFormat adalah solusi yang beragam bagi para pengembang yang ingin mengintegrasikankonten animasi ke dalam aplikasi mereka. API ini menawarkancontrol over frame settings, memungkinkan pengguna untuk menentukan frame-specificparameter, termasuk durasi loop dan pengaturan file PNG.Alat yang kaya fitur, Anda dapat dengan mudah mengelola dan mengoptimalkan paparangambar APNG, impor dan ekspor gambar, meningkatkan dinamik danaspek interaktif dari aplikasi Anda.

[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

anggota yang diwarisi

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

Contoh berikut menunjukkan cara mengekspor format file APNG dari format multi halaman yang tidak dianimasikan lainnya.

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
                                                                                                                     }

Contoh berikut menunjukkan cara mengekspor ke format file 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
                                                                         }

Contoh berikut menunjukkan cara membuat gambar APNG dari gambar satu halaman raster lain.

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

Mulai bekerja dengan kelas Aspose.Imaging.FileFormats.Apng.ApngImage dengan memulaiSebuah contoh baru tanpa usaha. sempurna untuk pengembang yang ingin memulaimenggunakan objek ApngImage dengan cepat dan efisien dalam proyek mereka.

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

Parameters

options ApngOptions

dengan opsi tersebut.

width int

dengan luasnya.

height int

ketinggian yang

Properties

DefaultFrameTime

Mudah menyesuaikan durasi bingkai default untuk membuat bingkai baru denganProperti ini fleksibel. sempurna untuk pengembang yang ingin menyesuaikan waktu bingkaisecara efektif dalam animasi mereka.

public uint DefaultFrameTime { get; set; }

Nilai Properti

uint

Examples

Contoh berikut menunjukkan cara membuat gambar APNG dari gambar satu halaman raster lain.

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

Cepat mengakses informasi tentang format file dengan properti yang nyaman ini.Ideal untuk pengembang yang perlu mendapatkan rincian tentang formatMenggunakan file APK dengan mudah.

public override FileFormat FileFormat { get; }

Nilai Properti

FileFormat

Interlaced

Cepat menentukan apakah objek Aspose.Imaging.FileFormats.Png.PngImage ini terhubungdengan properti yang nyaman ini. ideal untuk pengembang yang perlu memeriksastatus interlinking gambar PNG dengan mudah.

public bool Interlaced { get; }

Nilai Properti

bool

NumPlays

Dengan mudah mengontrol jumlah kali animasi Anda berjalan dengan iniProperti universal. sempurna untuk pengembang yang mencari kontrol yang akurat atasperilaku animasi, dengan dukungan untuk looping tak terbatas dalam kasusNilai yang sama dengan 0.

public int NumPlays { get; set; }

Nilai Properti

int

PageCount

Memulihkan jumlah total halaman dalam file gambar Anda dengan mudah dengan sifat ini.Ideal untuk pengembang yang membutuhkan akses cepat ke informasi halaman.

public override int PageCount { get; }

Nilai Properti

int

Pages

Dengan mudah mengakses halaman gambar Anda dengan properti yang nyaman ini.Sempurna untuk pengembang yang mencari akses cepat dan mudah ke halaman individu untuk manipulasi.

public override Image[] Pages { get; }

Nilai Properti

Image [ ]

XmpData

Mengelola dengan mudah metadata XMP yang terkait dengan file Anda menggunakan iniProperti yang beragam. sempurna untuk pengembang yang ingin mengakses atau memperbaruiInformasi metadata dengan mudah.

public override XmpPacketWrapper XmpData { get; set; }

Nilai Properti

XmpPacketWrapper

Methods

AddFrame()

Mudah melampirkan bingkai baru ke akhir koleksi bingkai Anda dengan iniMetode sederhana. ideal untuk pengembang yang ingin memperluasKoleksi frame secara dinamis untuk animasi dengan gambar multi-frame.Sebuah bingkai baru akan dibuat sesuai dengan ukuran gambar saat ini.

public ApngFrame AddFrame()

Returns

ApngFrame

Frame APNG yang baru dibuat.

AddFrame(RasterImage)

Dengan mudah memperluas koleksi bingkai Anda dengan menambahkan bingkai baru ke akhirdengan metode intuitif ini. sempurna untuk pengembang yang ingin meningkatkananimasi gambar multi-frame secara dinamis.Kandungan dari bingkai baru akan diisi dari gambar yang ditentukan.

public void AddFrame(RasterImage frameImage)

Parameters

frameImage RasterImage

Gambar dari frame.

Examples

Contoh berikut menunjukkan cara membuat gambar APNG dari gambar satu halaman raster lain.

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 adalah nol.

AddFrame(Rujukan, UINT)

Memperluas koleksi bingkai Anda dengan melampirkan bingkai baru kedengan metode intuitif ini. ideal untuk pengembang yang ingin memperkayaanimasi gambar multi-frame.Kandungan dari bingkai baru akan diisi dari gambar yang ditentukan.

public void AddFrame(RasterImage frameImage, uint frameTime)

Parameters

frameImage RasterImage

Gambar dari frame.

frameTime uint

Durasi kerangka, dalam milisekund.

Exceptions

ArgumentNullException

FrameImage adalah nol.

AddPage(RasterImage)

Tambah halaman baru ke gambar dengan mudah dengan metode intuitif ini.Sempurna untuk pengembang yang ingin memperluas konten file gambar mereka secara dinamis.

public void AddPage(RasterImage page)

Parameters

page RasterImage

Halaman yang harus ditambahkan.

Exceptions

ArgumentNullException

page’ is null.

AdjustBrightness(int)

Mudah menyesuaikan kecerahan gambar dengan metode intuitif ini,menggunakan parameter kecerahan yang ditentukan.Ideal untuk pengembang yang ingin meningkatkan atau meminimalisir kecerahan keseluruhan gambar secara dinamis.

public override void AdjustBrightness(int brightness)

Parameters

brightness int

Nilai kecerahan

AdjustContrast(kapal)

Meningkatkan kontras dari Aspose.Imaging.Imageuntuk membuat detail menonjol dengan metode intuitif ini. ideal untuk pengembangberusaha untuk meningkatkan kejelasan visual dan dampak dari gambar mereka secara dinamis.

public override void AdjustContrast(float contrast)

Parameters

contrast float

Nilai kontras (dalam rentang [-100; 100])

AdjustGamma(kapal)

Mengaplikasikan koreksi gamma pada gambar menggunakan koefisien titik berenangDengan metode intuitif ini. ideal untuk pengembang yang mencari kontrol warna yang akuratdalam gambar mereka.

public override void AdjustGamma(float gamma)

Parameters

gamma float

Gamma untuk koordinat saluran merah, hijau dan biru

AdjustGamma(Kapal, Kapal dan Kapal)

Melakukan koreksi gamma pada gambar secara terpisah untuk saluran merah, hijau, dan birumenggunakan koefisien individu dengan metode intuitif ini. ideal untuk pengembang mencariMeningkatkan keseimbangan warna dan meningkatkan kualitas visual gambar mereka.

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

Parameters

gammaRed float

Gamma untuk Red Channel Coefficient

gammaGreen float

Gamma untuk Green Channel Coefficient

gammaBlue float

Gamma untuk Blue Channel Coefficient

BinarizeBradley(Dua kali, int)

Binarisasi gambar menggunakan algoritma pembatasan adaptif Bradley menggunakan pembatasan gambar integral

public override void BinarizeBradley(double brightnessDifference, int windowSize)

Parameters

brightnessDifference double

Perbedaan kecerahan antara piksel dan rata-rata jendela piksel s x sFokus di sekitar piksel ini.

windowSize int

Ukuran jendela s x s dari piksel yang berpusat di sekitar piksel ini

BinarizeFixed(byte)

Dengan mudah binarisasi gambar menggunakan batas yang sudah ditentukan dengan iniMetode intuitif. ideal untuk pengembang yang ingin mengubah gambar menjadi bentuk biner,menyederhanakan mereka untuk pemrosesan atau analisis lebih lanjut.

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

Jika nilai kelabu yang sepadan dari piksel lebih besar dari batas, nilai255 akan diberikan kepadanya, 0 sebaliknya.

BinarizeOtsu()

Melakukan binarisasi pada gambar menggunakan sempadan Otsu dengan metode intuitif ini.Ideal untuk pengembang yang ingin secara otomatis menentukan ambang optimal untukMengkonversi gambar ke bentuk biner, meningkatkan kejelasan dan kesesuaian mereka untuk analisis lebih lanjut.

public override void BinarizeOtsu()

Crop(Rectangle)

Dengan mudah menanam gambar untuk fokus pada area tertentu dengan metode intuitif ini.Sempurna untuk pengembang yang ingin memperbaiki komposisi gambar mereka secara dinamis.

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

dengan rektangle.

Crop(int, int, int, int dan int)

Menanamkan gambar sambil menyesuaikan perubahan tanpa henti dengan metode intuitif ini.Ideal untuk pengembang yang mencari kontrol yang tepat atas proses panenuntuk fokus pada area tertentu dari gambar Apng mereka.

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

Parameters

leftShift int

Pindah ke kiri.

rightShift int

pergantian yang benar.

topShift int

Pertukaran tertinggi.

bottomShift int

Pertukaran bagian bawah.

Dither(DitheringMetode, int, IColorPalette)

Mudah menerapkan efek dithering pada gambar saat ini dengan metode intuitif ini.Ideal untuk pengembang yang ingin menambah tekstur atau mengurangi banding warna dalam gambar mereka.

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

Parameters

ditheringMethod DitheringMethod

Metode yang dihitung.

bitsCount int

Bits terakhir menghitung untuk dikhitung.

customPalette IColorPalette

Pakaian yang disesuaikan untuk dikeringkan.

Filter(Rectangle, FilterOptionsBase)

dengan mudah menerapkan filter ke rektangle gambar yang ditentukan dengan iniMetode intuitif. sempurna untuk pengembang yang ingin meningkatkan atau memodifikasi area tertentu.

public override void Filter(Rectangle rectangle, FilterOptionsBase options)

Parameters

rectangle Rectangle

dengan rektangle.

options FilterOptionsBase

dengan opsi tersebut.

GetDefaultOptions(objek[])

Kembalikan opsi default dengan mudah dengan metode sederhana ini.Ideal untuk pengembang yang mencari akses cepat ke pengaturan gambar Apng default.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object [ ]

dengan argumen tersebut.

Returns

ImageOptionsBase

Pilihan default

GetModifyDate(Bool)

Cepat mendapatkan tanggal dan waktu ketika gambar sumber terakhir diubahdengan metode yang ramah pengguna ini. ideal untuk pengembang yang perlu menjejaki perubahanMengelola sumber daya secara efektif.

public override DateTime GetModifyDate(bool useDefault)

Parameters

useDefault bool

Jika ditentukan untuk ‘kebenaran’, gunakan informasi dari FileInfo sebagai nilai default.

Returns

DateTime

Tanggal dan waktu gambar sumber yang terakhir diubah.

GetOriginalOptions()

Retrieve opsi berdasarkan pengaturan file asli dengan mudah dengan metode intuitif ini.Sempurna untuk pengembang yang ingin mengakses dan menggunakan pengaturan yang sesuai dengan karakteristikdari file asli.Ini dapat membantu untuk menjaga kedalaman bit dan parameter lain dari gambar asli tidak berubah.Misalnya, jika kita memuat gambar PNG hitam dan putih dengan 1 bit per piksel dan kemudian menyimpannya menggunakanMetode Aspose.Imaging.DataStreamSupporter.Save(System.String), hasil PNG gambar dengan 8-bit per piksel akan diproduksi.Untuk menghindari dan menyimpan gambar PNG dengan 1 bit per piksel, gunakan metode ini untuk mendapatkan opsi penyimpanan yang sesuai dan melewati merekauntuk Aspose.Imaging.Image.Save(System.String,Aspose.Imaging.ImageOptionsBase) metode sebagai parameter kedua.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Pilihan berdasarkan pengaturan file asli.

GetPagesAsEnumerable()

Dapatkan halaman-halaman yang dapat dihitung.

protected override IEnumerable<image/> GetPagesAsEnumerable()

Returns

IEnumerable dan lt; Image >

Halaman-halaman seperti yang dapat dihitung.

Grayscale()

Mudah mengubah gambar menjadi representasi grayscale dengan metode intuitif ini.Ideal untuk pengembang yang ingin mengubah gambar warna menjadi warna abu-abu, memudahkanproses visualisasi atau analisis.

public override void Grayscale()

InsertFrame(int)

dengan mudah memasukkan bingkai baru ke dalam koleksi bingkai Anda padadengan metode intuitif ini. ideal untuk pengembang yang mencari kontrol yang tepat atasmengatur bingkai dalam animasi gambar multi-frame mereka.Sebuah bingkai baru akan dibuat sesuai dengan ukuran gambar saat ini.

public ApngFrame InsertFrame(int index)

Parameters

index int

dan indeksnya.

Returns

ApngFrame

Frame APNG yang baru dibuat.

Exceptions

ArgumentOutOfRangeException

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

InsertFrame(dan rasterimage)

Masukkan bingkai baru ke dalam koleksi bingkai sendiri pada indeks yang ditentukan.Kandungan dari bingkai baru akan diisi dari gambar yang ditentukan.

public void InsertFrame(int index, RasterImage frameImage)

Parameters

index int

dan indeksnya.

frameImage RasterImage

Gambar dari frame.

Exceptions

ArgumentOutOfRangeException

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

ArgumentNullException

FrameImage adalah nol.

InsertFrame(Perbedaan, RasterImage, Uint)

Masukkan bingkai baru ke dalam koleksi bingkai sendiri pada indeks yang ditentukan.Kandungan dari bingkai baru akan diisi dari gambar yang ditentukan.

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

Parameters

index int

dan indeksnya.

frameImage RasterImage

Gambar dari frame.

frameTime uint

Durasi kerangka, dalam milisekund.

Exceptions

ArgumentOutOfRangeException

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

ArgumentNullException

FrameImage adalah nol.

PopFrameAt(int)

Menghapus dan menarik bingkai pada indeks yang ditentukan dari koleksi bingkai AndaDengan metode intuitif ini. sempurna untuk pengembang yang mencari manajemen yang efisienyang ada dalam animasi mereka.

public ApngFrame PopFrameAt(int index)

Parameters

index int

dan indeksnya.

Returns

ApngFrame

Menghilangkan APNG Frame.

Exceptions

ArgumentOutOfRangeException

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

ReleaseManagedResources()

Pastikan tidak ada sumber daya yang tidak dikelola yang dilepaskan di sini, karena mereka mungkin telahsudah dibebaskan.

protected override void ReleaseManagedResources()

RemoveAllFrames()

Bersihkan koleksi bingkai Anda dengan menghapus semua bingkai dengan metode intuitif ini.Ideal untuk pengembang yang ingin mengatur ulang atau memperbarui animasi mereka.

public void RemoveAllFrames()

Examples

Contoh berikut menunjukkan cara membuat gambar APNG dari gambar satu halaman raster lain.

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)

Menghapus bingkai pada indeks yang ditentukan dari koleksi bingkai Anda dengan mudahDengan metode ini. sempurna untuk pengembang yang mencari pengelolaan kerangka yang lancardalam gambar multi-frame mereka.Kerangka yang akan dihapus akan dihapus.

public void RemoveFrameAt(int index)

Parameters

index int

dan indeksnya.

Exceptions

ArgumentOutOfRangeException

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

ResetDefaultImage()

Menghapus gambar default yang telah ditetapkan sebelumnya dengan metode intuitif ini.Ideal untuk pengembang yang ingin mengatur ulang atau membersihkan gambar default dalam animasi mereka.Setelah itu, gambar default adalah bingkai pertama dalam koleksi bingkai sendiri(Ini tidak dapat dihapus menggunakan metode ini).

public void ResetDefaultImage()

Resize(int, int, resizeType)

Mengembalikan gambar dengan mudah dengan metode intuitif ini. sempurna untuk pengembangberusaha untuk menyesuaikan dimensi gambar mereka secara dinamis.

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

Parameters

newWidth int

dengan lebar yang baru.

newHeight int

ketinggian yang baru.

resizeType ResizeType

dengan jenis resize.

Resize(int, int, ImageResizeSettings)

Mengurangi gambar tersebut.

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

Parameters

newWidth int

dengan lebar yang baru.

newHeight int

ketinggian yang baru.

settings ImageResizeSettings

Sesuai dengan peraturan resize.

ResizeHeightProportionally(Tipe, ResizeType)

Dengan mudah menyesuaikan ketinggian gambar Anda sambil mempertahankan proporsinyadengan metode intuitif ini. sempurna untuk pengembang yang ingin memodifikasi gambarsecara dinamis sambil mempertahankan proporsi aspek mereka.

public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)

Parameters

newHeight int

ketinggian yang baru.

resizeType ResizeType

Jenis dari resize.

ResizeWidthProportionally(Tipe, ResizeType)

Secara proporsional mengembalikan lebar gambar dengan mudah dengan metode intuitif ini.Ideal untuk pengembang yang ingin mempertahankan proporsi aspek dari gambar mereka sementaramenyesuaikan dimensi mereka.

public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)

Parameters

newWidth int

dengan lebar yang baru.

resizeType ResizeType

Jenis dari resize.

Rotate(Bulu, Bulu dan Warna)

Putar gambar di sekitar pusatnya dengan mudah dengan metode intuitif ini.Sempurna untuk pengembang yang ingin menyesuaikan orientasi gambar mereka secara dinamis.

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

Parameters

angle float

Sudut berputar dalam derajat. nilai positif akan berputar secara jam.

resizeProportionally bool

Jika Anda menetapkan ‘kebenaran’ Anda akan memiliki ukuran gambar Anda berubah sesuai dengan proyeksi rektangle (titik sudut) yang ditarik di tempat lain yang meninggalkan dimensi tidak disentuh dan hanyainternal konten gambar ditarik.

backgroundColor Color

warna dari latar belakang.

RotateFlip(RotateFlipType)

Dengan mudah memanipulasi bingkai aktif dengan berputar, melipat, atau keduanya.dengan metode intuitif ini. ideal untuk pengembang yang ingin menyesuaikanorientasi frame image.

public override void RotateFlip(RotateFlipType rotateFlipType)

Parameters

rotateFlipType RotateFlipType

Jenis flip rotasi.

SaveData(Stream)

Simpan data tersebut.

protected override void SaveData(Stream stream)

Parameters

stream Stream

Aliran untuk menyimpan data ke.

SetDefaultImage(RasterImage)

Tetapkan gambar raster yang ditentukan sebagai gambar default untuk animasi saat inisempurna untuk pengembang yang ingin menyesuaikanGambar default dalam animasi mereka.

public void SetDefaultImage(RasterImage image)

Parameters

image RasterImage

dan gambarnya.

Exceptions

ArgumentNullException

Gambar adalah null.

UpdateDimensions(dengan int, int)

Mengemas kini dimensi gambar.

protected override void UpdateDimensions(int newWidth, int newHeight)

Parameters

newWidth int

Gambar baru yang luas.

newHeight int

Ketinggian gambar baru.

UpdateMetadata()

Mengemas kini gambar metadata.

protected override void UpdateMetadata()
 Indonesia