Class ApngImage
Navne til: Aspose.Imaging.FileFormats.Apng Sammensætning: Aspose.Imaging.dll (25.4.0)
API for animeret PNG (Animated Portable Network Graphics) billedfilFormatet er en mangfoldig løsning for udviklere, der ønsker at integrereanimeret indhold i deres applikationer. denne API tilbyder omfattendekontrol over rammeindstillinger, som gør det muligt for brugerne at definere rammer-specifikparametre, herunder loop varighed og PNG filindstillinger.funktionsrige værktøj, kan du nemt styre og optimere displayenaf APNG-billeder, import og eksport af billeder, der forbedrer dynamikken ogInteraktive aspekter af dine applikationer.
[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
De arvede medlemmer
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
Følgende eksempel viser, hvordan man eksporterer apng APNG-filformatet fra andre ikke-animerede multi-page-formater.
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
}
Følgende eksempel viser, hvordan man eksporterer til APNG filformat.
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
}
Følgende eksempel viser, hvordan man opretter APNG-billede fra en anden raster-en-side-bilde.
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(Optioner, int og int)
Start arbejdet med Aspose.Imaging.FileFormats.Apng. ApngImage klasse ved at initialisereen ny instans hårdt. Perfekt for udviklere, der søger at starteBrug ApngImage-objekter hurtigt og effektivt i deres projekter.
public ApngImage(ApngOptions options, int width, int height)
Parameters
options
ApngOptions
De valgmuligheder.
width
int
Den bredde.
height
int
Den højde.
Properties
DefaultFrameTime
Det er nemt at justere den standard rammevarighed for at oprette nye rammer medDette fleksible ejendom. Perfekt til udviklere, der søger at tilpasse rammetideffektivt i deres animationer.
public uint DefaultFrameTime { get; set; }
Ejendomsværdi
Examples
Følgende eksempel viser, hvordan man opretter APNG-billede fra en anden raster-en-side-bilde.
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
Hurtig adgang til information om filformatet med denne bekvemme ejendom.Ideel til udviklere, der har brug for at hente detaljer om formatetaf deres Apng filer nemt.
public override FileFormat FileFormat { get; }
Ejendomsværdi
Interlaced
Det er hurtigt at bestemme, om dette Aspose.Imaging.FileFormats.Png. PngImage-objekt er interlinketmed denne bekvemme ejendom. Ideal for udviklere, der har brug for at kontrollerePNG-billederne er let at knytte til.
public bool Interlaced { get; }
Ejendomsværdi
NumPlays
Kontroller hurtigt, hvor mange gange din animation løber med dettePerfekt til udviklere, der søger nøjagtig kontrol overanimation adfærd, med støtte for uendelig looping i tilfælde afVærdien svarer til 0.
public int NumPlays { get; set; }
Ejendomsværdi
PageCount
Gendanne det samlede antal sider i din billedfil hårdt med denne ejendom.Det er ideelt for udviklere, der har brug for hurtig adgang til sideoplysninger.
public override int PageCount { get; }
Ejendomsværdi
Pages
Prøv nemt at få adgang til siderne af dit billede med denne bekvemme ejendom.Perfekt til udviklere, der søger hurtig og nem adgang til individuelle sider til manipulation.
public override Image[] Pages { get; }
Ejendomsværdi
Image []
XmpData
Effektivt administrere XMP metadata forbundet med dine filer ved hjælp af dettePerfekt til udviklere, der søger at få adgang eller opdatereMetadata informationer nemt.
public override XmpPacketWrapper XmpData { get; set; }
Ejendomsværdi
Methods
AddFrame()
Du kan nemt tilføje et nyt ramme til slutningen af din rammersamling med detteideel til udviklere, der ønsker at udvide deresFrame samler dynamisk til animationer med multi-frame billeder.En ny ramme vil blive skabt i henhold til størrelsen af det nuværende billede.
public ApngFrame AddFrame()
Returns
Den nyligt oprettet APNG ramme.
AddFrame(RasterImage)
Udvid din rammesamling uden problemer ved at tilføje et nyt rammer til slutningenmed denne intuitive metode. Perfekt til udviklere, der søger at forbedre deresAnimation af multi-frame billeder dynamisk.Indholdet i den nye ramme vil blive udfyldt fra det angivne billede.
public void AddFrame(RasterImage frameImage)
Parameters
frameImage
RasterImage
Det er rammebilledet.
Examples
Følgende eksempel viser, hvordan man opretter APNG-billede fra en anden raster-en-side-bilde.
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 er null.
AddFrame(Skønhed, uint)
Udvid dit rammeindsamling smidigt ved at tilføje et nyt rammer tilmed denne intuitive metode. ideel for udviklere, der ønsker at berige deresAnimation af multi-frame billeder.Indholdet i den nye ramme vil blive udfyldt fra det angivne billede.
public void AddFrame(RasterImage frameImage, uint frameTime)
Parameters
frameImage
RasterImage
Det er rammebilledet.
frameTime
uint
Den ramme varighed, i millisekunder.
Exceptions
Frameimage er null.
AddPage(RasterImage)
Tilføj en ny side til billedet med denne intuitive metode.Perfekt til udviklere, der søger at udvide indholdet af deres billedfiler dynamisk.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
Side til at tilføje.
Exceptions
page’ is null.
AdjustBrightness(Int)
Det er nemt at tilpasse brightness’ af billedet med denne intuitive metode, ved hjælp af den angivne brådde parameter. Ideel for udviklere, der søger at forbedre eller dimthe den samlede lyssomhed af billeder dynamisk.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Lysets værdi.
AdjustContrast(Flåder)
Forbedre kontrasten af Aspose.Imaging.billedeat gøre detaljer fremtrædende med denne intuitive metode. ideel til udvikleresøger at forbedre synlig klarhed og indflydelse af deres billeder dynamisk.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Kontrastværdi (i rækkefølge [-100; 100])
AdjustGamma(Flåder)
Anvend gamma-korrektion til billedet ved hjælp af en floating point-koefficientIdeel til udviklere, der søger nøjagtig farvekontroli deres billeder.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Gamma for røde, grønne og blå kanaler
AdjustGamma(Flåder, Flåder og Flåder)
Gennemføre gamma-korrektion på billedet separat for de røde, grønne og blå kanalerbruger individuelle koefficienter med denne intuitive metode. ideel til udviklere, der søgerat forbedre farvebalancen og øge synskvaliteten af deres billeder.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma for rødkanal koefficient
gammaGreen
float
Gamma for grøn kanal koefficient
gammaBlue
float
Gamma for blå kanal koefficient
BinarizeBradley(Dobbelt og int)
Binarisering af et billede ved hjælp af Bradley’s adaptive grænseoverskridende algoritme ved hjælp af den integrerede image grænseoverskridende
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
Skillingen i lys mellem piksler og gennemsnittet af et s x s-vindue af pixlerDet er fokuseret omkring denne pixel.
windowSize
int
Størrelsen af s x s vindue af piksler centreret omkring denne piksel
BinarizeFixed(byte)
Trygt at binære billedet ved hjælp af en fordefineret grænse med detteIdeel til udviklere, der søger at konvertere billeder til binære former,Forenkle dem til yderligere behandling eller analyse.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Hvis den tilsvarende grå værdi af en pixel er større end grænseværdien,255 vil blive tildelt det, 0 ellers.
BinarizeOtsu()
Udføre binarisering på billedet ved hjælp af Otsu-grænse med denne intuitive metode.Ideel til udviklere, der søger automatisk at bestemme den optimale grænse foromdanne billeder til binære former, der forbedrer deres klarhed og egnethed til yderligere analyse.
public override void BinarizeOtsu()
Crop(Rectangle)
Håndter billedet hårdt for at fokusere på specifikke områder med denne intuitive metode.Perfekt til udviklere, der søger at forfinne sammensætningen af deres billeder dynamisk.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
Det rektangulære.
Crop(Int, int, int, int og int)
Plante billedet, mens du justerer skiftene sømløst med denne intuitive metode.Ideel til udviklere, der søger nøjagtig kontrol over skaldeprocessenat fokusere på specifikke områder af deres Apng-billeder.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
Den venstre skift.
rightShift
int
Den rigtige skift.
topShift
int
Den øverste skift.
bottomShift
int
Den nederste skift.
Dither(DitheringMethod, int, IColorPalette)
Det er nemt at anvende dithering effekter til det nuværende billede med denne intuitive metode.Ideel for udviklere, der søger at tilføje tekstur eller reducere farvebånd i deres billeder.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Den dyderende metode.
bitsCount
int
De sidste bits tæller for dithering.
customPalette
IColorPalette
Det er den sædvanlige palette til dithering.
Filter(Rectangle, FilterOptionsBase)
Trygt at anvende filtre til den angivne rektangle af billedet med dettePerfekt til udviklere, der søger at forbedre eller ændre specifikke områder.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
Det rektangulære.
options
FilterOptionsBase
De valgmuligheder.
GetDefaultOptions(Objekt[])
Gendanne de standardmuligheder hårdt med denne enkle metode.Ideel til udviklere, der søger hurtig adgang til standard Apng-billedeindstillinger.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[]
og argumenterne.
Returns
Undtagelsesmuligheder
GetModifyDate(Bool)
Få hurtigt datoen og tidspunktet for den sidste ændring af ressourcebilledetmed denne brugervenlige metode. ideel til udviklere, der har brug for at spore ændringerog effektivt administrere ressourcerne.
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
Hvis du er indstillet til ’true’, bruger du informationen fra FileInfo som standardværdi.
Returns
Datoen og tidspunktet for ressourcebilledet blev sidst ændret.
GetOriginalOptions()
Retrieve optioner baseret på de oprindelige filindstillinger hårdt med denne intuitive metode.Perfekt til udviklere, der søger at få adgang til og bruge indstillinger, som er i overensstemmelse med egenskaberneaf den oprindelige fil.Dette kan være nyttigt at holde bit dybde og andre parametre af det oprindelige billede uændret.For eksempel, hvis vi lader et sort-hvidt PNG-billede med 1 bit pr. pixel og gemmer det ved hjælp afAspose.Imaging.DataStreamSupporter.Save(System.String) metode, udgang PNG billede med 8-bit pr pixel vil blive produceret.For at undgå det og spare PNG-billeder med 1-bit pr. pixel, brug denne metode for at få de tilsvarende sparingsmuligheder og pass demtil Aspose.Imaging.Image.Save(System.String,_Wl17.ImagineOptionsBase) metode som den anden parameter.
public override ImageOptionsBase GetOriginalOptions()
Returns
Optioner baseret på de oprindelige filindstillinger.
GetPagesAsEnumerable()
Gør sidene som nummerbare.
protected override IEnumerable<image/> GetPagesAsEnumerable()
Returns
IEnumerable < Image >
De egne sider som enumerable.
Grayscale()
Det er nemt at forvandle billedet til sin grayscale repræsentation med denne intuitive metode.Ideel til udviklere, der søger at konvertere farvebilleder til grayscale, forenkle deresVisualisering eller analyse.
public override void Grayscale()
InsertFrame(Int)
Prøv nemt at indsætte en ny ramme i din rammersamling på den angivnemed denne intuitive metode. ideel til udviklere, der søger præcis kontrol overarrangementet af rammer i deres animationer af multi-frame billeder.En ny ramme vil blive skabt i henhold til størrelsen af det nuværende billede.
public ApngFrame InsertFrame(int index)
Parameters
index
int
Det er indekset.
Returns
Den nyligt oprettet APNG ramme.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
InsertFrame(Tænk på Rasterimage)
Indsæt et nyt ramme i selve rammerne på det angivne indeks.Indholdet i den nye ramme vil blive udfyldt fra det angivne billede.
public void InsertFrame(int index, RasterImage frameImage)
Parameters
index
int
Det er indekset.
frameImage
RasterImage
Det er rammebilledet.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
Frameimage er null.
InsertFrame(Skæbne, Rasterimage og Uint)
Indsæt et nyt ramme i selve rammerne på det angivne indeks.Indholdet i den nye ramme vil blive udfyldt fra det angivne billede.
public void InsertFrame(int index, RasterImage frameImage, uint frameTime)
Parameters
index
int
Det er indekset.
frameImage
RasterImage
Det er rammebilledet.
frameTime
uint
Den ramme varighed, i millisekunder.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
Frameimage er null.
PopFrameAt(Int)
Fjern og hente rammen på det angivne indeks fra din rammeindsamlingPerfekt til udviklere, der søger effektiv ledelseaf rammerne i deres animationer.
public ApngFrame PopFrameAt(int index)
Parameters
index
int
Det er indekset.
Returns
Den fjernet APNG ramme.
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ReleaseManagedResources()
Udgiv de administrerede ressourcer. Sørg for, at der ikke udgives uadministrerede resurser her, da de kan have væretDet er allerede løsladt.
protected override void ReleaseManagedResources()
RemoveAllFrames()
Rengør din rammesamling ved at fjerne alle rammer med denne intuitive metode.Ideel til udviklere, der søger at genstille eller forny deres animationer.
public void RemoveAllFrames()
Examples
Følgende eksempel viser, hvordan man opretter APNG-billede fra en anden raster-en-side-bilde.
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)
Fjern rammen på det angivne indeks fra din rammeindsamling trådløstPerfekt til udviklere, der søger rigtigt forvaltning af rammeri deres multidisciplinære billeder.Den ramme, der skal slettes, vil blive slettet.
public void RemoveFrameAt(int index)
Parameters
index
int
Det er indekset.
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ResetDefaultImage()
Fjern et tidligere indstillet standardbillede med denne intuitive metode.Ideel til udviklere, der søger at genstille eller slette det standardbillede i deres animation.Efter dette er standardbilledet den første ramme i selve rammersamling(det kan ikke slettes ved hjælp af denne metode).
public void ResetDefaultImage()
Resize(Int, Int, ResizeType)
Gennemstræk billedet med denne intuitive metode. Perfekt til udviklereat tilpasse dimensionerne af deres billeder dynamisk.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
Den nye bredde.
newHeight
int
Den nye højde.
resizeType
ResizeType
Den modsatte type.
Resize(Int, Int og ImageResizeSettings)
genopretter billedet.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
Den nye bredde.
newHeight
int
Den nye højde.
settings
ImageResizeSettings
De tilbagevendende indstillinger.
ResizeHeightProportionally(Tænk, ResizeType)
Man kan nemt justere billedets højde samtidig med at man bevarer dens proportioner.Perfekt til udviklere, der søger at genskabe billederdynamisk samtidig med at beholde deres aspektforhold.
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
Den nye højde.
resizeType
ResizeType
Typen af genanvendelse.
ResizeWidthProportionally(Tænk, ResizeType)
Proportionelt genanvend bredden af billedet hårdt ved hjælp af denne intuitive metode.Ideel til udviklere, der søger at opretholde aspektforholdet i deres billeder, menstilpasse deres dimensioner.
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)
Parameters
newWidth
int
Den nye bredde.
resizeType
ResizeType
Typen af genanvendelse.
Rotate(flåd, bool, farve)
Gør billedet rundt i dets centrum hårdt ved hjælp af denne intuitive metode.Perfekt til udviklere, der søger at justere orienteringen af deres billeder dynamisk.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
Den roterende hjørne i grader. Positive værdier vil rotere klokkevis.
resizeProportionally
bool
Hvis du har indstillet til ’true’ vil du have din billedstørrelse ændret i henhold til roterede rektangle (kornpunkter) projektioner i andre tilfælde, der forlader dimensioner untouched og kuninterne billedsindhold roteres.
backgroundColor
Color
Farve af baggrunden.
RotateFlip(RotateFlipType)
Arbejdsløst manipulere den aktive ramme ved at rotere, flippe eller beggemed denne intuitive metode. ideel til udviklere, der søger at tilpasseBilledrammer i orientering.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Den roterede flip type.
SaveData(Stream)
Sparer de data.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Strømmen til at gemme data til.
SetDefaultImage(RasterImage)
Sæt det angivne rasterbillede som standardbilledet for den aktuelle animationPerfekt til udviklere, der søger at tilpasseden standardbillede i deres animationer.
public void SetDefaultImage(RasterImage image)
Parameters
image
RasterImage
Det billede.
Exceptions
Billedet er null.
UpdateDimensions(Det er int)
Opdaterer billeddimensionerne.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Den nye billedvidde.
newHeight
int
Den nye billed højde.
UpdateMetadata()
Opdaterer billederne med metadata.
protected override void UpdateMetadata()