Class ApngImage
De naam: Aspose.Imaging.FileFormats.Apng Verzameling: Aspose.Imaging.dll (25.4.0)
De API voor Animated PNG (Animated Portable Network Graphics) beeldbestandformat is een veelzijdige oplossing voor ontwikkelaars die geïntegreerd willen wordengeanimeerde inhoud in hun toepassingen. deze API biedt uitgebreidecontroles over frame-instellingen, waardoor gebruikers frame specifiek kunnen definiërenparameters, met inbegrip van loopduur en PNG bestandsinstellingen.Feature-rijke tool, kunt u moeiteloos het display beheren en optimaliserenAPNG-beelden, importeer en exporteren van afbeeldingen, verbeteren van de dynamiek eninteractieve aspecten van uw toepassingen.
[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
Geëerbiede leden
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
Het volgende voorbeeld toont hoe u het apng APNG-bestandformaat uit andere niet-animeerde multi-page-formaten kunt exporteren.
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
}
Het volgende voorbeeld laat zien hoe u naar het APNG-bestandformaat kunt exporteren.
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
}
Het volgende voorbeeld toont hoe u een APNG-afbeelding kunt maken van een ander raster-eenzijdige beeld.
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 en int)
Begin met het werken met de Aspose.Imaging.FileFormats.Apng. ApngImage klasse door te initialisereneen nieuwe instantie moeiteloos. Perfect voor ontwikkelaars die willen beginnenApngImage objecten snel en efficiënt gebruiken in hun projecten.
public ApngImage(ApngOptions options, int width, int height)
Parameters
options
ApngOptions
De opties .
width
int
De breedte.
height
int
De hoogte.
Properties
DefaultFrameTime
Eenvoudig aanpassen van de standaard kaderduur om nieuwe kaders te creëren metdeze flexibele eigenschap. Perfect voor ontwikkelaars die de frame timing willen aanpassenEfficiënt in hun animaties.
public uint DefaultFrameTime { get; set; }
Eigendomswaarde
Examples
Het volgende voorbeeld toont hoe u een APNG-afbeelding kunt maken van een ander raster-eenzijdige beeld.
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
Snel toegang tot informatie over het bestandformaat met deze handige eigenschap.Ideaal voor ontwikkelaars die details over het formaat moeten krijgenDe Apng-bestanden zijn gemakkelijk te gebruiken.
public override FileFormat FileFormat { get; }
Eigendomswaarde
Interlaced
Snel bepalen of dit Aspose.Imaging.FileFormats.Png. PngImage-object is verbondenmet deze handige eigenschap. ideaal voor ontwikkelaars die moeten controlerende interlinkingstatus van PNG-beelden gemakkelijk.
public bool Interlaced { get; }
Eigendomswaarde
NumPlays
Snel controleer het aantal keren dat je animatie loopt met ditversatile eigenschap. Perfect voor ontwikkelaars die nauwkeurige controle overanimatie gedrag, met ondersteuning voor oneindige looping in het geval vanDe waarde is gelijk aan 0.
public int NumPlays { get; set; }
Eigendomswaarde
PageCount
Verwijder het totale aantal pagina’s in uw beeldbestand moeiteloos met deze eigenschap.Ideaal voor ontwikkelaars die snelle toegang hebben tot pagina count informatie.
public override int PageCount { get; }
Eigendomswaarde
Pages
Snel toegang tot de pagina’s van uw afbeelding met deze handige eigenschap.Ideaal voor ontwikkelaars die op zoek zijn naar snelle en eenvoudige toegang tot individuele pagina’s voor manipulatie.
public override Image[] Pages { get; }
Eigendomswaarde
Image []
XmpData
Snel beheren van XMP metadata geassocieerd met uw bestanden met behulp van dezeversatile eigenschap. Perfect voor ontwikkelaars die op zoek zijn naar toegang of updateMetadata informatie gemakkelijk.
public override XmpPacketWrapper XmpData { get; set; }
Eigendomswaarde
Methods
AddFrame()
Voeg gemakkelijk een nieuw frame aan aan het einde van uw frame collectie met diteen eenvoudige methode. ideaal voor ontwikkelaars die hunframe collectie dynamisch voor animaties met multi-frame beelden.Een nieuw frame zal worden gecreëerd volgens de grootte van de huidige afbeelding.
public ApngFrame AddFrame()
Returns
De nieuw gecreëerde APNG frame.
AddFrame(RasterImage)
Snel uw frame collectie uitbreiden door een nieuw frame aan het einde toe te voegenmet deze intuïtieve methode. Perfect voor ontwikkelaars die hunAnimatie van multi-frame beelden dynamisch.De inhoud van het nieuwe kader zal worden gevuld van de aangegeven afbeelding.
public void AddFrame(RasterImage frameImage)
Parameters
frameImage
RasterImage
Het frame beeld.
Examples
Het volgende voorbeeld toont hoe u een APNG-afbeelding kunt maken van een ander raster-eenzijdige beeld.
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 is nul.
AddFrame(Hoofdstukken, uint)
Uitbreid uw frame collectie onbeleefd door een nieuw frame aan te vullen aan demet deze intuïtieve methode. ideaal voor ontwikkelaars die hunAnimatie van multi-frame afbeeldingen.De inhoud van het nieuwe kader zal worden gevuld van de aangegeven afbeelding.
public void AddFrame(RasterImage frameImage, uint frameTime)
Parameters
frameImage
RasterImage
Het frame beeld.
frameTime
uint
De duur van het frame, in milliseconden.
Exceptions
FrameImage is nul.
AddPage(RasterImage)
Voeg met deze intuïtieve methode een nieuwe pagina toe aan de afbeelding.Ideaal voor ontwikkelaars die de inhoud van hun beeldbestanden dynamisch willen uitbreiden.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
De pagina om toe te voegen.
Exceptions
page’ is null.
AdjustBrightness(Int)
Het is gemakkelijk om de briliteit van het beeld aan te passen met deze intuïtieve methode,met behulp van de aangegeven briliteitsparameters.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
De briljante waarde.
AdjustContrast(Vloot)
Verbeter het contrast van de Aspose.Imaging.Imageom details te maken met deze intuïtieve methode. ideaal voor ontwikkelaarsstreven naar de visuele helderheid en impact van hun beelden dynamisch te verbeteren.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Contrastwaarde (in bereik [-100; 100])
AdjustGamma(Vloot)
Gamma-correctie toepassen op de afbeelding met behulp van een floating point coefficiëntMet deze intuïtieve methode. ideaal voor ontwikkelaars die nauwkeurige kleurcontrole zoekenin hun beelden.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Gamma voor rode, groene en blauwe kanalen coëfficiënt
AdjustGamma(De vloot, de vloot, de vloot)
Gema-correctie uitvoeren op het beeld afzonderlijk voor de rode, groene en blauwe kanalenmet behulp van individuele coëfficiënten met deze intuïtieve methode. ideaal voor ontwikkelaars die op zoek zijn naarom de kleurbalans te verbeteren en de visuele kwaliteit van hun afbeeldingen te verhogen.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma voor de rode kanaal coefficiënt
gammaGreen
float
Gamma voor groene kanaal coëfficiënt
gammaBlue
float
Gamma voor blauw kanaal coefficiënt
BinarizeBradley(Twee keer, int)
Binarisatie van een afbeelding met behulp van Bradley’s adaptieve thresholding algoritme met behulp van de integrale beeld thresholding
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
Het lichtverschil tussen de pixel en het gemiddelde van een s x s venster van pixelsHet gaat om deze pixel.
windowSize
int
De grootte van de s x s venster van pixels centraal rond deze pixel
BinarizeFixed(byte)
Snel de afbeelding binariseren met behulp van een vooraf gedefinieerde drempel met dezeintuïtieve methode. ideaal voor ontwikkelaars die op zoek zijn naar het omzetten van beelden in binaire vormen,Vergemakkelijken ze voor verdere verwerking of analyse.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
als de overeenkomstige grijze waarde van een pixel groter is dan de grenswaarde, een255 wordt daartoe toegewezen, 0 anders.
BinarizeOtsu()
Doen binarisatie op het beeld met behulp van Otsu thresholding met deze intuïtieve methode.Ideaal voor ontwikkelaars die automatisch de optimale drempel willen bepalen voorhet omzetten van beelden in binaire vormen, het verbeteren van hun duidelijkheid en geschiktheid voor verdere analyse.
public override void BinarizeOtsu()
Crop(Rectangle)
Onvoldoende groeien de afbeelding om zich te richten op specifieke gebieden met deze intuïtieve methode.Ideaal voor ontwikkelaars die de samenstelling van hun afbeeldingen dynamisch willen verfijnen.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
De rechthoek.
Crop(int, int, int, int, int)
Groeien de afbeelding tijdens het aanpassen van veranderingen naadloos met deze intuïtieve methode.Ideaal voor ontwikkelaars die nauwkeurige controle over het oogstproces zoekenom zich te richten op specifieke gebieden van hun Apng-afbeeldingen.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
De linker verandert.
rightShift
int
De juiste wisseling.
topShift
int
De top shift.
bottomShift
int
De bodem verandert.
Dither(DitheringMethod, int, IColorPalette)
Met deze intuïtieve methode is het gemakkelijk om de ditheringseffecten op de huidige afbeelding toe te passen.Ideaal voor ontwikkelaars die tekstur willen toevoegen of kleurbanding in hun afbeeldingen willen verminderen.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
De Dithering Methode.
bitsCount
int
De laatste bits tellen voor dithering.
customPalette
IColorPalette
De gewone palet voor dithering.
Filter(Rectangle, FilterOptionsBase)
Onvoldoende filters toe te passen aan de aangegeven rectangle van het beeld met dezeIdeaal voor ontwikkelaars die specifieke gebieden willen verbeteren of wijzigen.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
De rechthoek.
options
FilterOptionsBase
De opties .
GetDefaultOptions(Objecten[])
Herstel de standaardopties moeiteloos met deze eenvoudige methode.Ideaal voor ontwikkelaars die op zoek zijn naar snelle toegang tot standaard Apng beeldinstellingen.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[]
De argumenten .
Returns
De standaardopties
GetModifyDate(Bool)
Snel de datum en tijd verkrijgen wanneer de resource-afbeelding voor het laatst is gewijzigdMet deze gebruiksvriendelijke methode. ideaal voor ontwikkelaars die veranderingen moeten volgenen de middelen effectief beheren.
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
als u op ’true’ hebt ingesteld, gebruikt u de informatie van FileInfo als standaardwaarde.
Returns
De datum en tijd dat de resource-afbeelding voor het laatst is gewijzigd.
GetOriginalOptions()
Retrieve opties gebaseerd op de oorspronkelijke bestand instellingen moeiteloos met deze intuïtieve methode.Perfect voor ontwikkelaars die op zoek zijn naar toegang en gebruik van instellingen die passen aan de kenmerkenvan het originele bestand.Dit kan nuttig zijn om bit-diepte en andere parameters van de oorspronkelijke afbeelding onveranderd te houden.Bijvoorbeeld, als we een zwarte en witte PNG-afbeelding opladen met 1 bit per pixel en dan het opslaan met behulp van deAspose.Imaging.DataStreamSupporter.Save(System.String) methode, de output PNG-afbeelding met 8 bits per pixel zal worden geproduceerd.Om dit te voorkomen en PNG-afbeelding met 1 bits per pixel te besparen, gebruik deze methode om de overeenkomstige besparingsopties te krijgen en ze te passeren.De methode Aspose.Imaging.Image.Save(System.String,_Wl17. ImageOptionsBase) is de tweede parameter.
public override ImageOptionsBase GetOriginalOptions()
Returns
De opties gebaseerd op de oorspronkelijke bestandinstellingen.
GetPagesAsEnumerable()
Zet de pagina’s als geteld.
protected override IEnumerable<image/> GetPagesAsEnumerable()
Returns
IEnumerable < Image >
Zijn eigen pagina’s als vermeldbaar.
Grayscale()
Met deze intuïtieve methode wordt het beeld gemakkelijk omgezet in zijn grayscale vertegenwoordiging.Ideaal voor ontwikkelaars die op zoek zijn naar kleurfoto’s om te zetten in grayscale, het vereenvoudigen van hunVisualisatie of analyseprocessen.
public override void Grayscale()
InsertFrame(Int)
Onvoldoende een nieuw kader in uw frame collectie op de aangegevenMet deze intuïtieve methode. ideaal voor ontwikkelaars die nauwkeurige controle overde arrangement van de frames in hun animaties van multi-frame beelden.Een nieuw frame zal worden gecreëerd volgens de grootte van de huidige afbeelding.
public ApngFrame InsertFrame(int index)
Parameters
index
int
en de index.
Returns
De nieuw gecreëerde APNG frame.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
InsertFrame(Int, RasterImage)
Voer een nieuw frame in de eigen frame collectie op de aangegeven index.De inhoud van het nieuwe kader zal worden gevuld van de aangegeven afbeelding.
public void InsertFrame(int index, RasterImage frameImage)
Parameters
index
int
en de index.
frameImage
RasterImage
Het frame beeld.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
FrameImage is nul.
InsertFrame(Int, RasterImage, uint)
Voer een nieuw frame in de eigen frame collectie op de aangegeven index.De inhoud van het nieuwe kader zal worden gevuld van de aangegeven afbeelding.
public void InsertFrame(int index, RasterImage frameImage, uint frameTime)
Parameters
index
int
en de index.
frameImage
RasterImage
Het frame beeld.
frameTime
uint
De duur van het frame, in milliseconden.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
FrameImage is nul.
PopFrameAt(Int)
Verwijder en herhalen van het kader op de aangegeven index uit uw frame collectieMet deze intuïtieve methode. Perfect voor ontwikkelaars die op zoek zijn naar efficiënt managementvan de ramen in hun animaties.
public ApngFrame PopFrameAt(int index)
Parameters
index
int
en de index.
Returns
De verwijderde APNG frame.
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ReleaseManagedResources()
Zorg ervoor dat geen onbeheerde middelen hier worden vrijgegeven, omdat ze mogelijkal vrijgelaten.
protected override void ReleaseManagedResources()
RemoveAllFrames()
Verwijder uw frame collectie door alle ramen te verwijderen met deze intuïtieve methode.Ideaal voor ontwikkelaars die hun animaties willen herstellen of verfrissen.
public void RemoveAllFrames()
Examples
Het volgende voorbeeld toont hoe u een APNG-afbeelding kunt maken van een ander raster-eenzijdige beeld.
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)
Verwijder het kader op de aangegeven index van uw frame-collectie naadloosIdeaal voor ontwikkelaars die op zoek zijn naar een gerenoveerd beheer van kadersIn hun multi-frame afbeeldingen.Het kader dat moet worden verwijderd, zal worden opgelost.
public void RemoveFrameAt(int index)
Parameters
index
int
en de index.
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ResetDefaultImage()
Verwijder een eerder ingestelde standaard afbeelding met deze intuïtieve methode.Ideaal voor ontwikkelaars die de standaard afbeelding in hun animatie willen herstellen of verwijderen.Vervolgens is de standaard afbeelding het eerste frame in de eigen frame collectie.(het kan niet worden verwijderd met behulp van deze methode).
public void ResetDefaultImage()
Resize(int, int, resizeType)
Herstellen van het beeld met deze intuïtieve methode. Perfect voor ontwikkelaarsProberen de dimensies van hun afbeeldingen dynamisch aan te passen.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
De nieuwe breedte.
newHeight
int
De nieuwe hoogte.
resizeType
ResizeType
De resize type.
Resize(int, int, ImageResizeSettings)
herstelt het beeld.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
De nieuwe breedte.
newHeight
int
De nieuwe hoogte.
settings
ImageResizeSettings
De resize instellingen.
ResizeHeightProportionally(Int, ResizeType)
Onvoldoende aanpassen van de hoogte van uw afbeelding terwijl het de proporties behoudtMet deze intuïtieve methode. Perfect voor ontwikkelaars die op zoek zijn naar afbeeldingenDynamisch terwijl ze hun aspect ratio behouden.
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
De nieuwe hoogte.
resizeType
ResizeType
Type van de resize.
ResizeWidthProportionally(Int, ResizeType)
Proportioneel reserveren de breedte van het beeld moeiteloos met deze intuïtieve methode.Ideaal voor ontwikkelaars die de aspectverhouding van hun afbeeldingen willen behouden terwijlaanpassen van hun dimensies.
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)
Parameters
newWidth
int
De nieuwe breedte.
resizeType
ResizeType
Type van de resize.
Rotate(Float, bool, kleur)
Draai het beeld rond zijn centrum moeiteloos met deze intuïtieve methode.Ideaal voor ontwikkelaars die de oriëntatie van hun afbeeldingen dynamisch willen aanpassen.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
De rotatie van de hoek in graden. positieve waarden zullen rotatie horloge.
resizeProportionally
bool
als je ’true’ hebt ingesteld, zal je afbeeldingsgrootte worden gewijzigd, afhankelijk van rotatie rectangle (kornpunten) projecties in andere gevallen die de dimensies niet aanraken en alleen interne beeldinhoud wordt roterd.
backgroundColor
Color
De kleur van de achtergrond.
RotateFlip(RotateFlipType)
Snel de actieve frame manipuleren door te roteren, te flipen of beidemet deze intuïtieve methode. ideaal voor ontwikkelaars die op zoek zijn naar aanpassingbeeld frame oriëntatie.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
De rotated flip type.
SaveData(Stream)
Bespaar de gegevens.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
De stroom om gegevens op te slaan.
SetDefaultImage(RasterImage)
Stel het aangegeven rasterbeeld als standaardbeeld voor de huidige animatiemoeiteloos met deze methode. Perfect voor ontwikkelaars die op zoek zijn naar aanpassingDe standaard afbeelding in hun animaties.
public void SetDefaultImage(RasterImage image)
Parameters
image
RasterImage
De afbeelding .
Exceptions
De afbeelding is nul.
UpdateDimensions(int, int)
Update de afbeeldingsdimensies.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
De nieuwe beeldbreedte.
newHeight
int
De nieuwe beeldhoogte.
UpdateMetadata()
Update de metadata van de afbeelding.
protected override void UpdateMetadata()