Class ApngImage
İsim alanı : Aspose.Imaging.FileFormats.Apng Toplantı: Aspose.Imaging.dll (25.4.0)
Animasyon PNG (Animated Portable Network Graphics) görüntü dosyasıformat, geliştiriciler için entegre olmak isteyen çeşitli çözümlerdir.Animasyon içeriği uygulamalarına girer.Bu API geniş kapsamlıçerçeve ayarları üzerindeki kontrol, kullanıcıların çerçeve-özellikle tanımlamasını sağlarParametreler, yuva süresi ve PNG dosya ayarları dahil.fonksiyon açısından zengin bir araç, ekranı kolayca yönetebilir ve optimize edebilirsinizAPNG görüntüleri, ithalat ve ihracat görüntüleri, dinamik veUygulamanızın etkileşimli yönleri.
[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
mirasçı üyeleri
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
Aşağıdaki örnek, apng APNG dosya biçimini diğer animasyon olmayan çok sayfa biçiminden nasıl ihraç edeceğinizi gösterir.
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
}
Aşağıdaki örnek, APNG dosya biçimine nasıl ihraç edileceğini gösterir.
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
}
Aşağıdaki örnek, başka bir raster tek sayfa görüntüsünden APNG görüntüsünü nasıl oluşturacağınızı gösterir.
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(Yorumlar , int , int , int)
Aspose.Imaging.FileFormats.Apng.ApngImage sınıfı ile çalışmaya başlayınyeni bir örnek çaba sarf etmeden. başlangıç isteyen geliştiriciler için mükemmelProjelerinde ApngImage nesneleri hızlı ve verimli bir şekilde kullanın.
public ApngImage(ApngOptions options, int width, int height)
Parameters
options
ApngOptions
Seçenekler için.
width
int
Genişlik için.
height
int
Yükseklik için.
Properties
DefaultFrameTime
Yeni çerçeveler oluşturmak için varsayılan çerçeve süresini kolayca ayarlayınbu esnek özellik. çerçeve zamanlamayı özelleştirmek isteyen geliştiriciler için mükemmelAnimasyonlarında etkili bir şekilde.
public uint DefaultFrameTime { get; set; }
Mülkiyet Değer
Examples
Aşağıdaki örnek, başka bir raster tek sayfa görüntüsünden APNG görüntüsünü nasıl oluşturacağınızı gösterir.
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
Bu uygun mülk ile dosya biçimi hakkında bilgi için hızlı erişim.Format hakkında ayrıntıları elde etmeye ihtiyaç duyan geliştiriciler için idealdirMHP dosyalarını kolayca kullanabilirsiniz.
public override FileFormat FileFormat { get; }
Mülkiyet Değer
Interlaced
Bu Aspose.Imaging.FileFormats.Png.PngImage nesnesinin bağlantılı olup olmadığını hızlı bir şekilde belirleyinbu uygun mülk ile. geliştiricilerin kontrol etmeleri için idealdirPNG görüntüleri kolayca birleştirme durumu.
public bool Interlaced { get; }
Mülkiyet Değer
NumPlays
Animasyonunuzun bu şekilde kaç kez kaybolduğunu kontrol edin.Çeşitli özellikler. doğru kontrolü arayan geliştiriciler için mükemmelAnimasyon davranışları, sonsuz yuvarlanma için destekledeğeri 0’a eşittir.
public int NumPlays { get; set; }
Mülkiyet Değer
PageCount
Bu özellikle resim dosyanızdaki sayfanın toplam sayısını çaba sarf edin.Geliştirici sayfa sayma bilgilerine hızlı erişim gerektiren için idealdir.
public override int PageCount { get; }
Mülkiyet Değer
Pages
Bu uygun mülk ile resminizin sayfalarına kolayca erişebilirsiniz.Geliştiriciler, manipülasyon için bireysel sayfalara hızlı ve kolay erişim arayanlar için mükemmel.
public override Image[] Pages { get; }
Mülkiyet Değer
Image […]
XmpData
Bu dosyayı kullanarak dosyalarınızla ilişkili XMP metadata kolayca yönetin.Çeşitli özellikler. erişim veya güncelleştirme arayan geliştiriciler için mükemmelMetadata bilgileri kolaylıkla.
public override XmpPacketWrapper XmpData { get; set; }
Mülkiyet Değer
Methods
AddFrame()
Bu çerçeve ile çerçeve koleksiyonunuzun sonuna yeni bir çerçeve eklemek kolaydır.basit bir yöntem. geliştiricilerin kendi geliştirmelerini genişletmek için idealÇerçeve koleksiyonu, çok çerçeve görüntüleri ile animasyonlar için dinamiktir.Yeni bir çerçeve mevcut görüntü boyutuna göre oluşturulacaktır.
public ApngFrame AddFrame()
Returns
Yeni kurulan APNG çerçevesi.
AddFrame(RasterImage)
Çerçeve koleksiyonunuzu yeni bir çerçeve ekleyerek çabucak genişletinBu sezgisel yöntemle. geliştiriciler için mükemmelÇeşitli çerçeve görüntüleri dinamik olarak animasyonlar.Yeni çerçeve içeriği belirtilen resimden doldurulacaktır.
public void AddFrame(RasterImage frameImage)
Parameters
frameImage
RasterImage
Bu çerçeve görüntüsü.
Examples
Aşağıdaki örnek, başka bir raster tek sayfa görüntüsünden APNG görüntüsünü nasıl oluşturacağınızı gösterir.
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 sıfırdır.
AddFrame(RasterImage ve Uint)
Çerçeve koleksiyonunuzu yeni bir çerçeve ekleyerek çarpıcı bir şekilde genişletin.bu sezgisel yöntem ile. geliştiriciler kendi zenginleştirmek istiyor idealÇeşitli çerçeve görüntüleri.Yeni çerçeve içeriği belirtilen resimden doldurulacaktır.
public void AddFrame(RasterImage frameImage, uint frameTime)
Parameters
frameImage
RasterImage
Bu çerçeve görüntüsü.
frameTime
uint
Çerçeve uzunluğu, milisekonda.
Exceptions
frameImage sıfırdır.
AddPage(RasterImage)
Bu sezgisel yöntemle görüntüye yeni bir sayfa ekleyin.Görüntü dosyalarının içeriğini dinamik olarak genişletmek isteyen geliştiriciler için mükemmel.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
eklemek için sayfa.
Exceptions
page’ is null.
AdjustBrightness(int ile)
Bu sezgisel yöntemle görüntüün <kod sınıfı=“paramref”> parlaklığını kolayca ayarlayın, belirtilen parlaklık parametresini kullanın. görüntülerin genel parlaklığını dinamik olarak arttırmak veya azaltmak isteyen geliştiriciler için idealdir.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Işık değeri.
AdjustContrast(Floransa)
Aspose.Imaging.Image’ın kontrastını arttırınayrıntıları bu sezgisel yöntemle ortaya çıkarmak için. geliştiriciler için idealGörüntülerinin görsel netliğini ve etkilerini dinamik olarak arttırmaya çalışıyorlar.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Kontrast değeri ( aralığında [-100; 100])
AdjustGamma(Floransa)
Gamma düzeltmesini bir Floating Point Coefficient kullanarak görüntüye uygulayınBu sezgisel yöntemle. doğru renk kontrolü arayan geliştiriciler için idealOnların resimlerinde.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Kırmızı, yeşil ve mavi kanallar için Gamma
AdjustGamma(Yüzme, Yüzme ve Yüzme)
Görüntüde ayrı olarak kırmızı, yeşil ve mavi kanallar için gamma düzeltme yapınBu sezgisel yöntemi kullanarak bireysel koefficientler kullanın. geliştiriciler için idealrenk dengesini sağlamak ve görüntülerin görsel kalitesini arttırmak.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Kırmızı Kanal Koşiförü için Gamma
gammaGreen
float
Gamma yeşil kanal koşulları
gammaBlue
float
Mavi Kanal Koefficient için Gamma
BinarizeBradley(Çifte , int)
Bradley’in adaptif sınırlama algoritmasını kullanarak bir görüntüyi ikili hale getirmek
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
Piksel arasındaki parlaklık farkı ve bir s x s penceresinin ortalamasıBu pikselin etrafında duruyoruz.
windowSize
int
Bu piksel etrafında yoğunlaşan piksel penceresinin boyutu s x s
BinarizeFixed(byte)
Bu ile önceden belirlenmiş bir sınırı kullanarak görüntüyi çaba sarf etmeGörüntüleri ikili biçimde dönüştürmek isteyen geliştiriciler için ideal,Daha fazla işlem veya analiz için bunları basitleştirmek.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Eğer bir pikselin eşdeğer gri değeri sınırdan daha büyük ise, bir255’e göre, 0’a göre başka bir şey verilecektir.
BinarizeOtsu()
Bu sezgisel yöntemle Otsu çerçeve kullanarak görüntü üzerinde binarizasyon yapın.Geliştiriciler için otomatik olarak optimum sınırı belirlemek isteyen geliştiriciler için idealGörüntüleri ikili biçime dönüştürmek, daha fazla analiz için netliğini ve uygunluğunu arttırmak.
public override void BinarizeOtsu()
Crop(Rectangle)
Bu sezgisel yöntemle belirli alanlara odaklanmak için görüntüyi çaba sarf etmek.Görüntülerinin kompozisyonunu dinamik olarak rafine etmeye çalışan geliştiriciler için mükemmel.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
Doğrudan bir şekilde.
Crop(int , int , int , int , int)
Bu sezgisel yöntemi kullanarak değişiklikleri ayarlayarak görüntüyü toplayın.Yetiştirme sürecinin doğru kontrolünü arayan geliştiriciler için idealApng resimlerinin belirli alanlarına odaklanmak.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
Sağdaki değişim.
rightShift
int
Doğru değişim için.
topShift
int
Yukarıdaki değişim.
bottomShift
int
Aşağıdaki değişim.
Dither(DitheringMethod, int, IColorPalette)
Bu sezgisel yöntemle mevcut görüntüye kolayca dithering efektleri uygulayın.Geliştiriciler, tekstür eklemek veya resimlerinde renk bağlanmasını azaltmak istiyorlar.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Dithering yöntemini kullanır.
bitsCount
int
Son bitler Dithering için sayılır.
customPalette
IColorPalette
Dithering için geleneksel palet.
Filter(Rectangle, FilterOptionsBase)
Filtreyi bu şekilde resmin belirlenmiş doğruluğuna uygulayın.Geliştiriciler belirli alanları geliştirmek veya değiştirmek isteyenler için mükemmel.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
Doğrudan bir şekilde.
options
FilterOptionsBase
Seçenekler için.
GetDefaultOptions(nesne[])
Bu basit yöntemle varsayılan seçenekleri çaba sarf etmeyin.Varsayılan Apng görüntü ayarlarına hızlı erişim arayan geliştiriciler için idealdir.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[…]
ve argümanları.
Returns
Default seçenekleri
GetModifyDate(bool)
Kaynak görüntüsünün son olarak değiştirildiği tarihi ve saati hızlı bir şekilde elde edinBu kullanıcı dostu yöntemle. değişiklikleri izlemeye ihtiyaç duyan geliştiriciler için idealKaynakları etkili bir şekilde yönetmek.
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
Eğer ‘gerçek’ olarak ayarlanırsa, FileInfo’dan gelen bilgileri varsayılan değer olarak kullanır.
Returns
Tarih ve zaman kaynak görüntüsü son değiştirildi.
GetOriginalOptions()
Orijinal dosya ayarlarına dayalı seçenekleri bu sezgisel yöntemle çaba sarf etmeyin.Geliştiriciler, özelliklerine uygun ayarlara erişmek ve kullanmak isteyenler için mükemmelOrijinal dosyadan.Bu, bit derinliği ve orijinal görüntünün diğer parametrelerini değişmez tutmak için yararlı olabilir.Örneğin, bir piksel başına 1 bit ile siyah beyaz bir PNG görüntüsünü yüklerseniz ve sonra kaydedin.Aspose.Imaging.DataStreamSupporter.Save(System.String) yöntemi, piksel başına 8 bit çıkış PNG görüntüsü üretilecektir.Bunu önlemek ve piksel başına 1 bit PNG görüntüsünü kaydetmek için, bu yöntemi uygun tasarruf seçenekleri elde etmek ve bunları geçmek için kullanınAspose.Imaging.Image.Save (System.String,Aspose.Imaging.ImageOptionsBase) yöntemi ikinci parametredir.
public override ImageOptionsBase GetOriginalOptions()
Returns
Orijinal dosya ayarlarına dayalı seçenekler.
GetPagesAsEnumerable()
Sayfaları sayılabilir hale getirir.
protected override IEnumerable<image/> GetPagesAsEnumerable()
Returns
IEnumerable < için; Image >
Kendi sayfaları listelenebilir.
Grayscale()
Görüntüyü kolayca bu sezgisel yöntemle gri ölçeğe dönüştürür.Renk görüntüleri grayscale dönüştürmek isteyen geliştiriciler için idealdir.Görüntüleme veya analiz işlemleri.
public override void Grayscale()
InsertFrame(int ile)
Yeni bir çerçeveyi çerçeve koleksiyonunuzda belirtilen çerçeveye kolayca yerleştirin.Bu sezgisel yöntemle. geliştiriciler için ideal, doğru kontrolü aramak içinÇerçeve çerçevelerinin animasyonlarında çok çerçeve görüntüleri düzenlenmesi.Yeni bir çerçeve mevcut görüntü boyutuna göre oluşturulacaktır.
public ApngFrame InsertFrame(int index)
Parameters
index
int
Bu indeksleri
Returns
Yeni kurulan APNG çerçevesi.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
InsertFrame(Rasterimage , Rasterimage)
Yeni çerçeveyi belirlenmiş endeksin kendi çerçeve koleksiyonuna yerleştirin.Yeni çerçeve içeriği belirtilen resimden doldurulacaktır.
public void InsertFrame(int index, RasterImage frameImage)
Parameters
index
int
Bu indeksleri
frameImage
RasterImage
Bu çerçeve görüntüsü.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
frameImage sıfırdır.
InsertFrame(Sıfır, RasterImage, Uint)
Yeni çerçeveyi belirlenmiş endeksin kendi çerçeve koleksiyonuna yerleştirin.Yeni çerçeve içeriği belirtilen resimden doldurulacaktır.
public void InsertFrame(int index, RasterImage frameImage, uint frameTime)
Parameters
index
int
Bu indeksleri
frameImage
RasterImage
Bu çerçeve görüntüsü.
frameTime
uint
Çerçeve uzunluğu, milisekonda.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
frameImage sıfırdır.
PopFrameAt(int ile)
Çerçeve koleksiyonunuzdan belirtilen endeksteki çerçeveyi kaldırın ve geri alınBu sezgisel yöntemle. verimli yönetim arayan geliştiriciler için mükemmelAnimasyonlardaki çerçeveler.
public ApngFrame PopFrameAt(int index)
Parameters
index
int
Bu indeksleri
Returns
Kaldırılmış APNG çerçevesi.
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ReleaseManagedResources()
Yönetilmemiş kaynakları serbest bırakın. yönetilmemiş kaynakların burada serbest bırakılmadığından emin olun.Şimdiden serbest bırakıldı.
protected override void ReleaseManagedResources()
RemoveAllFrames()
Bu sezgisel yöntemle tüm çerçeveleri kaldırarak çerçeve koleksiyonunuzu temizleyin.Animasyonlarını yeniden ayarlamak veya yenilemek isteyen geliştiriciler için idealdir.
public void RemoveAllFrames()
Examples
Aşağıdaki örnek, başka bir raster tek sayfa görüntüsünden APNG görüntüsünü nasıl oluşturacağınızı gösterir.
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 ile)
Çerçeve koleksiyonunuzdan belirlenmiş endeksteki çerçeveyi çarpıcı bir şekilde çıkarınBu yöntemi kullanarak. çerçevelerin düzgün bir şekilde yönetilmesini arayan geliştiriciler için mükemmelÇeşitli çerçeve resimlerinde.Kaldırılacak çerçeve kaldırılacaktır.
public void RemoveFrameAt(int index)
Parameters
index
int
Bu indeksleri
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ResetDefaultImage()
Bu sezgisel yöntemle önceden ayarlanmış bir varsayılan görüntü kaldırın.Animasyonlarında varsayılan görüntüyü yeniden ayarlamak veya temizlemek isteyen geliştiriciler için idealdir.Bundan sonra, varsayılan görüntü kendi çerçeve koleksiyonunda ilk çerçeve(Bu yöntemi kullanarak silinemez)
public void ResetDefaultImage()
Resize(int, int, resizeType)
Görüntüyü bu sezgisel yöntemle çarpıcı bir şekilde geri dönüştürün. geliştiriciler için mükemmelGörüntülerinin boyutlarını dinamik olarak ayarlamaya çalışıyorlar.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
Yeni bir genişlik.
newHeight
int
Yeni bir yükseklik.
resizeType
ResizeType
Resize türü vardır.
Resize(int, int, ImageResizeSettings İndir)
Görüntüyü yeniden canlandırır.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
Yeni bir genişlik.
newHeight
int
Yeni bir yükseklik.
settings
ImageResizeSettings
Değerlendirme ayarları.
ResizeHeightProportionally(ResizeType , ResizeType)
Görüntünüzün yüksekliğini kolayca ayarlayın, aynı zamanda oranlarını koruyun.Bu sezgisel yöntemle. resimleri yeniden şekillendirmek isteyen geliştiriciler için mükemmelDinamik olarak, görünüm oranlarını korurken.
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
Yeni bir yükseklik.
resizeType
ResizeType
Resize’nin türü
ResizeWidthProportionally(ResizeType , ResizeType)
Bu sezgisel yöntemle görüntü genişliğini orantılı olarak çaba gösterin.Görüntülerinin görünüm oranını korumak isteyen geliştiriciler için idealboyutlarını ayarlayın.
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)
Parameters
newWidth
int
Yeni bir genişlik.
resizeType
ResizeType
Resize’nin türü
Rotate(Float , Bool , Renk)
Görüntüyü bu sezgisel yöntemle merkezinin etrafında çaba sarf edin.Görüntülerinin yönlendirilmesini dinamik bir şekilde ayarlamaya çalışan geliştiriciler için mükemmel.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
Pozitif değerler saatlik olarak döndürülür.
resizeProportionally
bool
Eğer ‘gerçek’ olarak ayarlanırsanız, görüntü boyutunu değiştireceksiniz, diğer durumlarda boyutları dokunmasız bırakır ve yalnızca internal görüntü içeriği döndürülür.
backgroundColor
Color
Arka planın rengi.
RotateFlip(RotateFlipType)
Aktif çerçeveyi, döndürerek, kaydırarak ya da her ikisi de işe yaramaz.bu sezgisel yöntem ile. geliştiriciler için ideal özelleştirmeGörüntü çerçevesi yönlendirmesi.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Rota Flip türü.
SaveData(Stream)
Verileri tasarruf edin.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
veri kaydetmek için akış.
SetDefaultImage(RasterImage)
Belirlenen raster görüntüsünü mevcut animasyon için varsayılan görüntü olarak ayarlayınbu yöntemi kullanarak çaba sarf etmez. geliştiriciler için mükemmelAnimasyonlarında varsayılan görüntü.
public void SetDefaultImage(RasterImage image)
Parameters
image
RasterImage
Bu görüntü.
Exceptions
Resim sıfırdır.
UpdateDimensions(int , int , int)
Görüntü boyutlarını güncelleyin.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Yeni görüntü genişliği.
newHeight
int
Yeni görüntü yüksekliği.
UpdateMetadata()
Görüntü metadata güncellenir.
protected override void UpdateMetadata()