Class ApngImage
Numele spaţiului: Aspose.Imaging.FileFormats.Apng Asamblare: Aspose.Imaging.dll (25.4.0)
API pentru PNG (Animate Portable Network Graphics) fișier de imagineformat este o soluție versatilă pentru dezvoltatorii care doresc să integrezeconținut animat în aplicațiile lor. această API oferă extinsecontrol asupra setărilor cadrului, permițând utilizatorilor să definească cadrul-specificparametri, inclusiv durata de loop și setările de fișier PNG.Instrument bogat în caracteristici, puteți gestiona și optimiza cu ușurință afișareaImaginile APNG, importul si exportul imaginilor, imbunatatind dinamica siAspecte interactive ale aplicațiilor dvs.
[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
Membrii moștenitori
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
Următorul exemplu arată cum să exportați formatul de fișier APNG de la alt format multi pagini non-animate.
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
}
Următorul exemplu arată cum să exportați în format de fișier 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
}
Următorul exemplu arată cum să creați o imagine APNG dintr-o altă imagine unică raster.
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(ApngOptions, int și int)
Începeți să lucrați cu clasa Aspose.Imaging.FileFormats.Apng. ApngImage prin inițializareaun nou exemplu fără efort. perfect pentru dezvoltatorii care caută să înceapăutilizarea obiectelor ApngImage rapid și eficient în proiectele lor.
public ApngImage(ApngOptions options, int width, int height)
Parameters
options
ApngOptions
ale opţiunilor .
width
int
în lățime .
height
int
înălţime .
Properties
DefaultFrameTime
Ajustarea ușoară a duratei cadrului de bază pentru a crea noi cadre cuAceastă proprietate flexibilă. Perfect pentru dezvoltatori care doresc să personalizeze timing-ul cadruluieficient în animațiile lor.
public uint DefaultFrameTime { get; set; }
Valoarea proprietății
Examples
Următorul exemplu arată cum să creați o imagine APNG dintr-o altă imagine unică raster.
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
Acces rapid la informații despre format de fișier cu această proprietate convenabilă.Ideal pentru dezvoltatori care au nevoie să obțină detalii despre formatdin fișierele lor Apng cu ușurință.
public override FileFormat FileFormat { get; }
Valoarea proprietății
Interlaced
Determinați rapid dacă acest obiect Aspose.Imaging.FileFormats.Png.pngImage este interlocuitcu această proprietate convenabilă. ideal pentru dezvoltatori care trebuie să verificestarea de interconectare a imaginilor PNG ușor.
public bool Interlaced { get; }
Valoarea proprietății
NumPlays
Controlați cu ușurință numărul de ori când animația dvs. trece cu acest lucruProprietate versatilă. Perfect pentru dezvoltatori care caută un control precis asupracomportamentul de animație, cu sprijin pentru întoarcerea infinită în cazulValoarea este egală cu 0.
public int NumPlays { get; set; }
Valoarea proprietății
PageCount
Returnați numărul total de pagini din fișierul dvs. de imagine fără efort cu această proprietate.Ideal pentru dezvoltatori care au nevoie de acces rapid la informațiile de numărare a paginilor.
public override int PageCount { get; }
Valoarea proprietății
Pages
Acces fără efort la paginile imaginii tale cu această proprietate convenabilă.Ideal pentru dezvoltatori care caută acces rapid și ușor la pagini individuale pentru manipulare.
public override Image[] Pages { get; }
Valoarea proprietății
Image []
XmpData
Gestionarea fără efort a metadatelor XMP asociate cu fișierele dvs. folosind acestProprietate versatilă. Perfect pentru dezvoltatori care caută acces sau actualizareMetadata informaţie cu uşurinţă.
public override XmpPacketWrapper XmpData { get; set; }
Valoarea proprietății
Methods
AddFrame()
Adăugați cu ușurință un nou cadru la sfârșitul colecției dvs. de cadre cu acestmetodă simplă. ideal pentru dezvoltatorii care doresc să-și extindăColectarea dinamică a cadrelor pentru animații cu imagini multi-frame.Un nou cadru va fi creat în funcție de dimensiunea imaginii actuale.
public ApngFrame AddFrame()
Returns
Noul cadru APNG creat.
AddFrame(RasterImage)
Extindeți fără efort colecția dvs. de cadru prin adăugarea unui nou ram la capătcu această metodă intuitivă. perfect pentru dezvoltatorii care doresc să-și îmbunătățeascăAnimarea imaginilor multi-frame în mod dinamic.Conținutul noului cadru va fi umplut din imaginea specificată.
public void AddFrame(RasterImage frameImage)
Parameters
frameImage
RasterImage
Imaginea din cadru.
Examples
Următorul exemplu arată cum să creați o imagine APNG dintr-o altă imagine unică raster.
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 este zero.
AddFrame(Războiul, UINT)
Extindeți colecția de cadru fără întârziere prin adăugarea unei noi cadre lacu această metodă intuitivă. ideal pentru dezvoltatorii care doresc să-și îmbogățeascăImagini cu imagini multi-frame.Conținutul noului cadru va fi umplut din imaginea specificată.
public void AddFrame(RasterImage frameImage, uint frameTime)
Parameters
frameImage
RasterImage
Imaginea din cadru.
frameTime
uint
Durata cadrului, în milisecunde.
Exceptions
FrameImage este zero.
AddPage(RasterImage)
Adăugați o nouă pagină imaginii fără efort cu această metodă intuitivă.Ideal pentru dezvoltatorii care caută să extindă conținutul fișierelor lor de imagine în mod dinamic.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
Pagina pentru a adăuga.
Exceptions
page’ is null.
AdjustBrightness(int)
Facil de ajustat luminozitatea a imaginii cu această metodă intuitivă, folosind parametru specificat de luminositate. ideal pentru dezvoltatori care doresc să îmbunătățească sau să diminueze lumina generală a imaginilor în mod dinamic.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Valori de lumină.
AdjustContrast(float)
Îmbunătățește contrastul Aspose.Imaging.Imagepentru a face detaliile să se evidențieze cu această metodă intuitivă. ideal pentru dezvoltatoriÎncercând să îmbunătățească în mod dinamic claritatea vizuală și impactul imaginilor lor.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Valoarea contrastului (în interval [-100; 100])
AdjustGamma(float)
Aplicați corecția gamma la imagine folosind un coeficient de punct de flotareIdeal pentru dezvoltatori care caută controlul precis al culorilorîn imaginile lor.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Gama pentru coeficientul canalelor roșii, verzi și albastru
AdjustGamma(în float, float, float)
Executați corecția gamma pe imagine separat pentru canalele roșu, verde și albastruutilizarea coeficientelor individuale cu această metodă intuitivă. ideal pentru dezvoltatorii care cautăpentru echilibrul de culori fine-tune și pentru a îmbunătăți calitatea vizuală a imaginilor lor.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gama pentru coeficientul canalului roșu
gammaGreen
float
Gama pentru coeficientul canalului verde
gammaBlue
float
Gamma pentru coeficientul canalului albastru
BinarizeBradley(Două ori, int)
Binarizarea unei imagini folosind algoritmul adaptiv de limită al lui Bradley folosind limitele integrale ale imaginii
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
Diferența de luminozitate între pixel și medie a unui s x s fereastră de pixeliCentrat în jurul acestui pixel.
windowSize
int
Dimensiunea ferestrei s x s a pixelelor centrate în jurul acestui pixel
BinarizeFixed(în byte)
Binarează fără efort imaginea folosind un prag predefinit cu acestMetoda intuitivă. ideal pentru dezvoltatorii care caută să converteze imagini în forme binare,să le simplifice pentru prelucrare sau analiză ulterioară.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
În cazul în care valoarea gri corespunzătoare a unui pixel este mai mare decât pragul, un255 vor fi atribuite acestuia, 0 altfel.
BinarizeOtsu()
Performanța binarizării pe imagine folosind pragul Otsu cu această metodă intuitivă.Ideal pentru dezvoltatorii care caută să determine automat pragul optim pentrutransformarea imaginilor în forme binare, îmbunătățind claritatea și adecvarea acestora pentru analiză ulterioară.
public override void BinarizeOtsu()
Crop(Rectangle)
Creați fără efort imaginea pentru a se concentra pe domenii specifice cu această metodă intuitivă.Ideal pentru dezvoltatori care caută să rafineze în mod dinamic compoziția imaginilor lor.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
în rectanglu .
Crop(int, int, int, int)
Cultivați imaginea în timp ce ajustați schimbările fără întârziere cu această metodă intuitivă.Ideal pentru dezvoltatori care caută un control precis asupra procesului de recoltaresă se concentreze asupra domeniilor specifice ale imaginilor lor Apng.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
Schimbarea de stânga.
rightShift
int
Schimbarea dreaptă.
topShift
int
Cea mai mare schimbare.
bottomShift
int
Schimbarea de jos.
Dither(DitheringMetodă, int, IColorPalette)
Aplicați cu ușurință efectele de difuzare la imaginea curentă cu această metodă intuitivă.Ideal pentru dezvoltatorii care doresc să adauge textura sau să reducă bandajul de culori în imaginile lor.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Metoda de depăşire.
bitsCount
int
Ultimele bite contează pentru dithering.
customPalette
IColorPalette
Paleta obișnuită pentru dithering.
Filter(Rectangle, FilterOptionsBase)
Aplicați cu ușurință filtrele la rectanglul specificat al imaginii cu acestPerfect pentru dezvoltatori care caută să îmbunătățească sau să modifice zone specifice.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
în rectanglu .
options
FilterOptionsBase
ale opţiunilor .
GetDefaultOptions(Obiectul[])
Reduceți opțiunile predefinite fără efort cu această metodă simplă.Ideal pentru dezvoltatorii care caută acces rapid la setările de imagine ale Apng.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[]
Argumentele sunt.
Returns
Opțiuni deficitare
GetModifyDate(Boulă)
Obțineți rapid data și ora la care a fost ultima modificare a imaginii de resursecu această metodă prietenoasă cu utilizatorul. ideal pentru dezvoltatorii care trebuie să urmeze schimbărilegestionarea eficientă a resurselor.
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
în cazul în care este setat la „true”, utilizați informațiile din FileInfo ca valoare predefinită.
Returns
Data și timpul a fost ultima modificare a imaginii de resurse.
GetOriginalOptions()
Recuperarea opțiunilor bazate pe setările de fișier originale fără efort cu această metodă intuitivă.Ideal pentru dezvoltatori care caută accesul și utilizarea setărilor care se aliniază cu caracteristiciledin fișierul original.Acest lucru poate fi util pentru a menține adâncimea și alte parametri ale imaginii originale inalterate.De exemplu, dacă încărcăm o imagine PNG alb-negru cu 1 bit pe pixel și apoi o salvăm folosindAspose.Imaging.DataStreamSupporter.Save(System.String) metoda, va fi produs imaginea PNG de ieșire cu 8 bit pe pixel.Pentru a evita acest lucru și pentru a salva imaginea PNG cu 1 bit pe pixel, utilizați această metodă pentru a obține opțiunile de salvare corespunzătoare și a le trecela metoda Aspose.Imaging.Image.Save(System.String,_W L17.ImagineOptionsBase) ca al doilea parametru.
public override ImageOptionsBase GetOriginalOptions()
Returns
Opțiunile bazate pe setările de fișier originale.
GetPagesAsEnumerable()
Faceţi paginile numărabile.
protected override IEnumerable<image/> GetPagesAsEnumerable()
Returns
IEnumerable < Image >
Pagini proprii la numerar.
Grayscale()
Facil de transformat imaginea în reprezentarea sa grayscale cu această metodă intuitivă.Ideal pentru dezvoltatorii care caută să converteze imagini de culoare în grayscale, simplificându-leprocesele de vizualizare sau de analiză.
public override void Grayscale()
InsertFrame(int)
Introduceți cu ușurință un nou cadru în colecția dvs. de cadre la setul specificatcu această metodă intuitivă. ideal pentru dezvoltatorii care caută un control precis asupraorganizarea cadrelor în animațiile lor de imagini multi-frame.Un nou cadru va fi creat în funcție de dimensiunea imaginii actuale.
public ApngFrame InsertFrame(int index)
Parameters
index
int
pentru indexul.
Returns
Noul cadru APNG creat.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
InsertFrame(Răspundeți, RasterImage)
Introduceți un nou cadru în propria colecție de cadre la indexul specificat.Conținutul noului cadru va fi umplut din imaginea specificată.
public void InsertFrame(int index, RasterImage frameImage)
Parameters
index
int
pentru indexul.
frameImage
RasterImage
Imaginea din cadru.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
FrameImage este zero.
InsertFrame(Răspundeți, RasterImage, Uint)
Introduceți un nou cadru în propria colecție de cadre la indexul specificat.Conținutul noului cadru va fi umplut din imaginea specificată.
public void InsertFrame(int index, RasterImage frameImage, uint frameTime)
Parameters
index
int
pentru indexul.
frameImage
RasterImage
Imaginea din cadru.
frameTime
uint
Durata cadrului, în milisecunde.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
FrameImage este zero.
PopFrameAt(int)
Îndepărtați și retrageți cadrul la indexul specificat din colecția dvs. de cadrecu această metodă intuitivă. perfect pentru dezvoltatorii care caută management eficientîn cadrul animaţiilor lor.
public ApngFrame PopFrameAt(int index)
Parameters
index
int
pentru indexul.
Returns
Îndepărtarea cadrului APNG.
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ReleaseManagedResources()
Eliberează resursele gestionate. asigurați-vă că nu sunt eliberate resurse necontrolate aici, deoarece acestea pot fideja eliberat.
protected override void ReleaseManagedResources()
RemoveAllFrames()
Clarificați colecția de cadre prin îndepărtarea tuturor cadrelor cu această metodă intuitivă.Ideal pentru dezvoltatorii care caută să-și reinstaleze sau să își refresheze animațiile.
public void RemoveAllFrames()
Examples
Următorul exemplu arată cum să creați o imagine APNG dintr-o altă imagine unică raster.
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)
Îndepărtați ramul la indexul specificat din colecția de ramuri fără întârzierePerfect pentru dezvoltatori care caută o gestionare simplificată a cadrelorîn imaginile lor multi-frame.Cadrul care urmează să fie șters va fi eliminat.
public void RemoveFrameAt(int index)
Parameters
index
int
pentru indexul.
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ResetDefaultImage()
Îndepărtați o imagine predefinită folosind această metodă intuitivă.Ideal pentru dezvoltatorii care caută să restabilească sau să ștergă imaginea predefinită în animația lor.După aceasta, imaginea predefinită este primul cadru din propria colecție de cadre.(nu se poate șterge folosind această metodă).
public void ResetDefaultImage()
Resize(int, int, resizeType)
Rezați imaginea fără întârziere cu această metodă intuitivă. Perfect pentru dezvoltatoriÎncercând să ajusteze dinamic dimensiunile imaginilor lor.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
În noua lățime.
newHeight
int
Înălţimea nouă.
resizeType
ResizeType
Tipul de rezistenţă.
Resize(int, int, ImageResizeSettings)
Reduceţi imaginea.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
În noua lățime.
newHeight
int
Înălţimea nouă.
settings
ImageResizeSettings
Împreună cu setările de rezistență.
ResizeHeightProportionally(Răspundeți, Răspundeți)
Modifică cu ușurință înălțimea imaginii, menținând proporțiile salecu această metodă intuitivă. Perfect pentru dezvoltatori care caută să recapitalizeze imaginidinamic, menținând în același timp raportul lor de aspect.
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
Înălţimea nouă.
resizeType
ResizeType
Tipul de rezistenţă.
ResizeWidthProportionally(Răspundeți, Răspundeți)
În mod proporțional, rezumați lățimea imaginii fără efort cu această metodă intuitivă.Ideal pentru dezvoltatori care caută să mențină raportul aspect al imaginilor lor în timp ceAdaptarea dimensiunilor lor.
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)
Parameters
newWidth
int
În noua lățime.
resizeType
ResizeType
Tipul de rezistenţă.
Rotate(float, bool, culoare)
Rotați imaginea în jurul centrului său fără efort cu această metodă intuitivă.Ideal pentru dezvoltatori care caută să adapteze dinamic orientarea imaginilor lor.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
Angajul rotativ în grade. valorile pozitive se vor rotati pe oră.
resizeProportionally
bool
în cazul în care este setat la ’true’ veți avea dimensiunea imaginii modificate în funcție de rectangle rotate (punctele de coadă) proiecții în alte cazuri care lasă dimensiunile necorespunzătoare și numai interior conținutul de imagini sunt rotat.
backgroundColor
Color
Culoarea fundalului.
RotateFlip(RotateFlipType)
Manipularea fără efort a cadrului activ prin rotație, flipping sau ambelecu această metodă intuitivă. ideal pentru dezvoltatorii care doresc să se personalizezeorientare a imaginii.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Tipul de flip rotat.
SaveData(Stream)
salvează datele.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Stream pentru a salva datele la.
SetDefaultImage(RasterImage)
Setarea imaginii raster specificate ca imaginea predefinită pentru animația curentăfără efort cu această metodă. Perfect pentru dezvoltatori care doresc să personalizezeImaginea implicită în animațiile lor.
public void SetDefaultImage(RasterImage image)
Parameters
image
RasterImage
şi imaginea .
Exceptions
Imaginea este zero.
UpdateDimensions(int, int)
Actualizează dimensiunile imaginii.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Noua dimensiune a imaginii.
newHeight
int
Înălțimea noii imagini.
UpdateMetadata()
Actualizează metadata imaginii.
protected override void UpdateMetadata()