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
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
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
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
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
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
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
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
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
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
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
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
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
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
Frame APNG yang baru dibuat.
Exceptions
index’ is less than 0.or
index’ 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
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
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
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
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
Menghilangkan APNG Frame.
Exceptions
index’ is less than 0.or
index’ 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 < 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();
}
}
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
index’ is less than 0.or
index’ 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
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()