Class ApngImage
Namn på plats: Aspose.Imaging.FileFormats.Apng Församling: Aspose.Imaging.dll (25.4.0)
API för animerad PNG (Animated Portable Network Graphics) bildfilformat är en mångsidig lösning för utvecklare som vill integreraanimerad innehåll i deras applikationer. denna API erbjuder omfattandekontroll över raminställningar, vilket gör det möjligt för användare att definiera ramspecifikaparametrar, inklusive loop längd och PNG filinställningar.funktionsrika verktyg, kan du enkelt hantera och optimera displayenav APNG-bilder, import och exportbilder, förbättring av dynamiken ochinteraktiva aspekter av dina 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
Arvsmedlemmar
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öljande exempel visar hur man exporterar apng APNG-filformat från andra icke-animerade multi-sidorformat.
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öljande exempel visar hur man exporterar till 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öljande exempel visar hur man skapar APNG-bild från en annan raster ensidig bild.
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, int)
Börja arbeta med Aspose.Imaging.FileFormats.Apng.ApngImage klass genom att initialiseraen ny instans utan ansträngning. perfekt för utvecklare som vill startaAnvänd ApngImage objekt snabbt och effektivt i sina projekt.
public ApngImage(ApngOptions options, int width, int height)
Parameters
options
ApngOptions
och alternativen .
width
int
och bredden.
height
int
och höjden.
Properties
DefaultFrameTime
Lätt justera standardramtiden för att skapa nya ramar medDenna flexibla egenskap. Perfekt för utvecklare som vill anpassa ramtidningeneffektivt i deras animationer.
public uint DefaultFrameTime { get; set; }
Fastighetsvärde
Examples
Följande exempel visar hur man skapar APNG-bild från en annan raster ensidig bild.
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
Snabb tillgång till information om filformat med denna bekväma egenskap.Idealisk för utvecklare som behöver återhämta detaljer om formatetmed sina Apng-filer lätt.
public override FileFormat FileFormat { get; }
Fastighetsvärde
Interlaced
Snabbt bestämma om detta Aspose.Imaging.FileFormats.Png.PngImage objekt är länkatmed denna bekväma fastighet. Idealisk för utvecklare som behöver kontrolleraden interlänkande staten av PNG-bilder lätt.
public bool Interlaced { get; }
Fastighetsvärde
NumPlays
Snabbt kontrollera antalet gånger din animation löper med dettamångsidig egenskap. Perfekt för utvecklare som letar efter exakt kontroll överanimation beteende, med stöd för oändlig loopning i fallet medVärdet är lika med 0.
public int NumPlays { get; set; }
Fastighetsvärde
PageCount
Hämta det totala antalet sidor i din bildfil utan ansträngning med denna egenskap.Idealisk för utvecklare som behöver snabb åtkomst till sidan räkning information.
public override int PageCount { get; }
Fastighetsvärde
Pages
Snabbt komma åt sidorna i din bild med denna bekväma egendom.Perfekt för utvecklare som söker snabb och enkel åtkomst till enskilda sidor för manipulation.
public override Image[] Pages { get; }
Fastighetsvärde
Image [ ]
XmpData
Effektivt hantera XMP metadata associerade med dina filer med hjälp av dettamångsidig egenskap. Perfekt för utvecklare som vill komma åt eller uppdateraMetadata med lätthet.
public override XmpPacketWrapper XmpData { get; set; }
Fastighetsvärde
Methods
AddFrame()
Lätt lägga till en ny ram till slutet av din ramsamling med dettaen enkel metod. idealisk för utvecklare som vill utöka sinFramsamling dynamiskt för animationer med flerframsbilder.En ny ram kommer att skapas enligt storleken på den aktuella bilden.
public ApngFrame AddFrame()
Returns
Den nyligen skapade APNG-ramen.
AddFrame(RasterImage)
Snabbt utöka din ramsamling genom att lägga till en ny ram till slutetmed denna intuitiva metod. Perfekt för utvecklare som vill förbättra sinanimering av multi-frams bilder dynamiskt.Innehållet i den nya ramen kommer att fyllas i från den angivna bilden.
public void AddFrame(RasterImage frameImage)
Parameters
frameImage
RasterImage
Framsidan av bilden.
Examples
Följande exempel visar hur man skapar APNG-bild från en annan raster ensidig bild.
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 är noll.
AddFrame(RasterImage, Uint)
Utöka din ramkollektion smidigt genom att lägga till en ny ram påmed denna intuitiva metod. Idealisk för utvecklare som vill berika sinaanimering av flerframsbilder.Innehållet i den nya ramen kommer att fyllas i från den angivna bilden.
public void AddFrame(RasterImage frameImage, uint frameTime)
Parameters
frameImage
RasterImage
Framsidan av bilden.
frameTime
uint
Frame varaktighet, i millisekunder.
Exceptions
FrameImage är noll.
AddPage(RasterImage)
Lägg till en ny sida till bilden utan ansträngning med denna intuitiva metod.Perfekt för utvecklare som vill expandera innehållet i sina bildfiler dynamiskt.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
sidan att lägga till.
Exceptions
page’ is null.
AdjustBrightness(int)
Det är lätt att justera bildens glans med denna intuitiva metod,med hjälp av den angivna glansparametern.Ideal för utvecklare som vill förbättra eller minska bildens övergripande glans dynamiskt.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
ljusets värde.
AdjustContrast(Flotta)
Förbättra kontrasten av Aspose.Imaging.Imageför att göra detaljerna framträdande med denna intuitiva metod. idealisk för utvecklaresträvar efter att förbättra den visuella klarheten och effekten av sina bilder dynamiskt.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Kontrastvärde (i intervall [-100; 100])
AdjustGamma(Flotta)
Applicera gamma korrigering till bilden med hjälp av en flödespunktkoefficientIdealisk för utvecklare som letar efter exakt färgkontrolli deras bilder.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Gamma för röda, gröna och blå kanaler koefficient
AdjustGamma(flotta, flotta och flotta)
Gör gamma korrigering på bilden separat för röda, gröna och blå kanaleranvändning av enskilda koefficienter med denna intuitiva metod. Idealisk för utvecklare som sökerför finfärgbalans och förbättra visuell kvalitet på deras bilder.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma för rödkanalkoefficient
gammaGreen
float
Gamma för grön kanalkoefficient
gammaBlue
float
Gamma för blåkanalkoefficient
BinarizeBradley(dubbel, int)
Binarisering av en bild med hjälp av Bradleys adaptiva tröskelvärde algoritm med hjälp av integrerad bildtröskelvärde
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
Skillnaden i ljusstyrka mellan pixlar och genomsnittet av ett s x s fönster av pixlarFokusera runt den här pixeln.
windowSize
int
Storleken på s x s fönstret av pixlar som är inriktade runt denna pixel
BinarizeFixed(byte)
Snabbt binära bilden med hjälp av en fördefinierad gräns med dettaIdealisk för utvecklare som vill konvertera bilder till binära former,förenklade dem för ytterligare behandling eller analys.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Om motsvarande gråvärde av en pixel är större än gränsvärdet, ett värde av255 kommer att tilldelas det, 0 annars.
BinarizeOtsu()
Gör binarisering på bilden med hjälp av Otsu gränssnitt med denna intuitiva metod.Idealisk för utvecklare som vill automatiskt bestämma den optimala gränsen förkonvertera bilder till binära former, förbättra deras klarhet och lämplighet för ytterligare analys.
public override void BinarizeOtsu()
Crop(Rectangle)
Snabbt odla bilden för att fokusera på specifika områden med denna intuitiva metod.Perfekt för utvecklare som vill förfina sammansättningen av sina bilder dynamiskt.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
och rektangeln.
Crop(int, int, int, int och int)
Växla bilden samtidigt som du justerar ändringar smidigt med denna intuitiva metod.Idealisk för utvecklare som söker noggrann kontroll över grävningsprocessenatt fokusera på specifika områden av deras Apng-bilder.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
Den vänstra byten.
rightShift
int
Den rätta byten.
topShift
int
Den högsta växlingen.
bottomShift
int
Den nedre ändringen.
Dither(DitheringMethod, int, IColorPalette)
Lätt applicera ditheringseffekter på den aktuella bilden med denna intuitiva metod.Idealisk för utvecklare som vill lägga till textur eller minska färgbandning i sina bilder.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Metoden för att diktera.
bitsCount
int
De sista bitarna räknar för dithering.
customPalette
IColorPalette
Den vanliga paletten för dithering.
Filter(Rectangle, FilterOptionsBase)
Snabbt applicera filter till den angivna rektangeln av bilden med dettaPerfekt för utvecklare som vill förbättra eller modifiera specifika områden.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
och rektangeln.
options
FilterOptionsBase
och alternativen .
GetDefaultOptions(Objektet[])
Återställa standardalternativ utan ansträngning med denna enkla metod.Idealisk för utvecklare som letar efter snabb åtkomst till standard Apng bildinställningar.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[ ]
och argumenten .
Returns
Standardalternativ
GetModifyDate(Bool)
Snabbt få datum och tid när källbilden senast ändratsmed denna användarvänliga metod. Idealisk för utvecklare som behöver spåra förändringarHantera resurser på ett effektivt sätt.
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
Om du ställer in “true” använder du informationen från FileInfo som standardvärde.
Returns
Datum och tid resursbilden ändrades senast.
GetOriginalOptions()
Återställa alternativ baserat på de ursprungliga filinställningarna utan ansträngning med denna intuitiva metod.Perfekt för utvecklare som vill komma åt och använda inställningar som matchar egenskapernafrån den ursprungliga filen.Detta kan vara användbart för att hålla bitdjup och andra parametrar av den ursprungliga bilden oförändrad.Till exempel, om vi laddar en svartvitt PNG-bild med 1 bit per pixel och sedan sparar den med hjälp avAspose.Imaging.DataStreamSupporter.Save(System.String) metod, utgången PNG bild med 8-bitars per pixel kommer att produceras.För att undvika det och spara PNG-bild med 1-bit per pixel, använd denna metod för att få motsvarande spara alternativ och passera demtill Aspose.Imaging.Image.Save(System.String,Aspose.Imaging.ImageOptionsBase) metod som andra parametrar.
public override ImageOptionsBase GetOriginalOptions()
Returns
Alternativ baserade på de ursprungliga filinställningarna.
GetPagesAsEnumerable()
Få sidorna som nummerbara.
protected override IEnumerable<image/> GetPagesAsEnumerable()
Returns
IEnumerable ochlt; Image >
De egna sidorna som numrerbara.
Grayscale()
Det är lätt att omvandla bilden till sin gråskala representation med denna intuitiva metod.Idealisk för utvecklare som vill konvertera färgbilder till gråskalor, förenkla derasvisualisering eller analysprocesser.
public override void Grayscale()
InsertFrame(int)
Snabbt infoga en ny ram i din ramsamling på den angivnamed denna intuitiva metod. Idealisk för utvecklare som söker noggrann kontroll överarrangemanget av ramar i deras animationer av multi-ramar bilder.En ny ram kommer att skapas enligt storleken på den aktuella bilden.
public ApngFrame InsertFrame(int index)
Parameters
index
int
och indexet .
Returns
Den nyligen skapade APNG-ramen.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
InsertFrame(Författare, RasterImage)
Ange ett nytt ramverk i den egna ramsamlingen på det angivna indexet.Innehållet i den nya ramen kommer att fyllas i från den angivna bilden.
public void InsertFrame(int index, RasterImage frameImage)
Parameters
index
int
och indexet .
frameImage
RasterImage
Framsidan av bilden.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
FrameImage är noll.
InsertFrame(Författare, RasterImage, uint)
Ange ett nytt ramverk i den egna ramsamlingen på det angivna indexet.Innehållet i den nya ramen kommer att fyllas i från den angivna bilden.
public void InsertFrame(int index, RasterImage frameImage, uint frameTime)
Parameters
index
int
och indexet .
frameImage
RasterImage
Framsidan av bilden.
frameTime
uint
Frame varaktighet, i millisekunder.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
FrameImage är noll.
PopFrameAt(int)
Ta bort och återhämta ram på den angivna indexet från din ramsamlingPerfekt för utvecklare som letar efter effektiv ledningFrame i deras animationer.
public ApngFrame PopFrameAt(int index)
Parameters
index
int
och indexet .
Returns
Den avlägsnade APNG-ramen.
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ReleaseManagedResources()
Lämna de hanterade resurserna. se till att inga ohanterade resurser släpps här, eftersom de kan ha varitredan släppt.
protected override void ReleaseManagedResources()
RemoveAllFrames()
Rengör din ramsamling genom att ta bort alla ramar med denna intuitiva metod.Idealisk för utvecklare som vill återställa eller uppdatera sina animationer.
public void RemoveAllFrames()
Examples
Följande exempel visar hur man skapar APNG-bild från en annan raster ensidig bild.
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)
Ta bort rammen på det angivna indexet från din ramsamling smidigtPerfekt för utvecklare som letar efter strikt hantering av ramari deras multi-frame bilder.Den ram som ska tas bort kommer att tas bort.
public void RemoveFrameAt(int index)
Parameters
index
int
och indexet .
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ResetDefaultImage()
Ta bort en tidigare inställd standardbild med denna intuitiva metod.Idealisk för utvecklare som vill återställa eller ta bort standardbilden i sin animation.Efter detta är standardbilden den första rammen i själva ramsamlingen.(Det kan inte raderas med hjälp av denna metod).
public void ResetDefaultImage()
Resize(int, int, resizeType)
Återskapa bilden smidigt med denna intuitiva metod. Perfekt för utvecklareFörsöker justera dimensionerna av sina bilder dynamiskt.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
Den nya bredden.
newHeight
int
Den nya höjden.
resizeType
ResizeType
Den återställande typen.
Resize(int, int, ImageResizeSettings)
återställer bilden.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
Den nya bredden.
newHeight
int
Den nya höjden.
settings
ImageResizeSettings
De återställda inställningarna.
ResizeHeightProportionally(int, ResizeType)
Snabbt justera höjden på din bild samtidigt som dess proportioner bibehållsPerfekt för utvecklare som vill återskapa bilderDynamiskt samtidigt som man bibehåller sin aspekter proportion.
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
Den nya höjden.
resizeType
ResizeType
Typ av återställning.
ResizeWidthProportionally(int, ResizeType)
Proportionellt återskapa bildens bredd utan ansträngning med denna intuitiva metod.Idealisk för utvecklare som vill upprätthålla aspektförhållandet av sina bilder medanjustera sina dimensioner.
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)
Parameters
newWidth
int
Den nya bredden.
resizeType
ResizeType
Typ av återställning.
Rotate(Float, bool, färg)
Rotera bilden runt dess centrum utan ansträngning med denna intuitiva metod.Perfekt för utvecklare som vill justera orienteringen av sina bilder dynamiskt.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
Den roterade vinkeln i grader. Positiva värden roterar klockvis.
resizeProportionally
bool
Om du ställer in till ’true’ kommer du att ha din bildstorlek ändrats enligt roterade rektangulära (kornpunkter) projektioner i annat fall som lämnar dimensioner obekväma och endastinterna bildinnehåll roteras.
backgroundColor
Color
Färgen på bakgrunden.
RotateFlip(RotateFlipType)
Snabbt manipulera den aktiva ramen genom att rotera, flipa, eller bådamed denna intuitiva metod. Idealisk för utvecklare som vill anpassaBildram orientering.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Den roterade flip typen.
SaveData(Stream)
Spara dina data.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Strömmen för att spara data till.
SetDefaultImage(RasterImage)
Ställ in den angivna rasterbilden som standardbilden för den aktuella animationenperfekt för utvecklare som letar efter att anpassastandardbild i deras animationer.
public void SetDefaultImage(RasterImage image)
Parameters
image
RasterImage
och bilden.
Exceptions
Bilden är noll.
UpdateDimensions(int, int)
Uppdatera bilddimensionerna.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Den nya bilden bredd.
newHeight
int
Den nya bilden höjd.
UpdateMetadata()
Uppdatera bildmetadata.
protected override void UpdateMetadata()