Class ApngImage
Nom dels espais: Aspose.Imaging.FileFormats.Apng Assemblea: Aspose.Imaging.dll (25.4.0)
API per a PNG (Grafica de xarxes portàtils animades) fitxer d’imatgeEl format és una solució versàtil per als desenvolupadors que busquen integrarcontinguts animats a les seves aplicacions. aquesta API ofereix una extensacontrol sobre les configuracions del marc, que permet als usuaris definir el marc específicparàmetres, incloent-hi la durada del rumb i les configuracions de fitxers PNG.eina rica en característiques, es pot gestionar i optimitzar sense esforç la pantallade les imatges APNG, import i exportació d’imatges, millorant la dinàmica iAspectes interactius de les seves aplicacions.
[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
Membres heretats
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
L’exemple següent mostra com exportar el format de fitxer APNG d’altres formats multipàgins no animats.
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
}
L’exemple següent mostra com exportar al format de fitxer APNG.
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using (Image image = Image.Load("Animation1.webp")) {
// Export to APNG animation with unlimited animation cycles as default
image.Save("Animation1.webp.png", new ApngOptions());
// Setting up animation cycles
image.Save("Animation2.webp.png", new ApngOptions() { NumPlays = 5 }); // 5 cycles
}
L’exemple següent mostra com crear una imatge APNG d’una altra imatge de raster de pàgina única.
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(Apgopcions, int i int)
Comença a treballar amb la classe Aspose.Imaging.FileFormats.Apng. ApngImage iniciantuna nova instància sense esforç. perfecte per als desenvolupadors que busquen començarutilitzar els objectes ApngImage de manera ràpida i eficient en els seus projectes.
public ApngImage(ApngOptions options, int width, int height)
Parameters
options
ApngOptions
Les opcions.
width
int
La seva amplada.
height
int
La seva alçada.
Properties
DefaultFrameTime
Fàcilment ajustar la durada del quadre de default per crear nous quadres ambAquesta propietat flexible. perfecte per als desenvolupadors que busquen personalitzar el temps del marceficient en les seves animacions.
public uint DefaultFrameTime { get; set; }
Valor de la propietat
Examples
L’exemple següent mostra com crear una imatge APNG d’una altra imatge de raster de pàgina única.
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
Accés ràpidament a la informació sobre el format de fitxers amb aquesta propietat convenient.Ideal per als desenvolupadors que necessiten recuperar detalls sobre el formatdels seus arxius d’APNG fàcilment.
public override FileFormat FileFormat { get; }
Valor de la propietat
Interlaced
Determinar ràpidament si aquest objecte Aspose.Imaging.FileFormats.Png. PngImage està interlocutamb aquesta propietat convenient. Ideal per als desenvolupadors que necessiten comprovarl’estat d’interligació de les imatges PNG fàcilment.
public bool Interlaced { get; }
Valor de la propietat
NumPlays
Sense esforç, controla el nombre de vegades que la teva animació corre amb aquestpropietat versàtil. perfecte per als desenvolupadors que busquen control precís sobrecomportament d’animació, amb suport per a l’infinit gir en el cas delEl valor és igual a 0.
public int NumPlays { get; set; }
Valor de la propietat
PageCount
Retirar el nombre total de pàgines en el seu fitxer d’imatge sense esforç amb aquesta propietat.Ideal per als desenvolupadors que necessiten accés ràpid a la informació de comptes de pàgines.
public override int PageCount { get; }
Valor de la propietat
Pages
Accés fàcilment a les pàgines de la teva imatge amb aquesta propietat convenient.Ideal per als desenvolupadors que busquen accés ràpid i fàcil a pàgines individuals per a la manipulació.
public override Image[] Pages { get; }
Valor de la propietat
Image []
XmpData
Gestió sense èxit de metadades XMP associades amb els seus fitxers utilitzant aquestpropietat versàtil. perfecte per als desenvolupadors que busquen accedir o actualitzarInformació metadàtica amb facilitat.
public override XmpPacketWrapper XmpData { get; set; }
Valor de la propietat
Methods
AddFrame()
Afegeix fàcilment un nou marc al final de la teva col·lecció amb aquestmètode senzill. ideal per als desenvolupadors que vulguin expandir la sevaCol·lecció de quadres dinàmica per a animacions amb imatges multi-frames.Es crearà un nou quadre segons la mida de la imatge actual.
public ApngFrame AddFrame()
Returns
El nou quadre APNG creat.
AddFrame(RasterImage)
Desproporcionadament ampliar la vostra col·lecció de quadres afegint un nou marc al finalamb aquest mètode intuïtiu. perfecte per als desenvolupadors que busquen millorar el seuAnimació d’imatges multi-frames dinàmica.Els continguts del nou marc s’ompliran de la imatge especificada.
public void AddFrame(RasterImage frameImage)
Parameters
frameImage
RasterImage
Imatge del quadre.
Examples
L’exemple següent mostra com crear una imatge APNG d’una altra imatge de raster de pàgina única.
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
El frameimage és zero.
AddFrame(Càtedra, UINT)
Expandir la vostra col·lecció de quadre sense cap mena d’aplicar un nou marc a laamb aquest mètode intuïtiu. ideal per als desenvolupadors que busquen enriquir els seusAnimació d’imatges multi-frames.Els continguts del nou marc s’ompliran de la imatge especificada.
public void AddFrame(RasterImage frameImage, uint frameTime)
Parameters
frameImage
RasterImage
Imatge del quadre.
frameTime
uint
La durada del quadre, en milliseconds.
Exceptions
El frameimage és zero.
AddPage(RasterImage)
Afegir una nova pàgina a la imatge sense esforç amb aquest mètode intuïtiu.Ideal per als desenvolupadors que busquen expandir dinàmicament el contingut dels seus fitxers d’imatge.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
La pàgina per afegir.
Exceptions
page’ is null.
AdjustBrightness(Int)
Fàcilment ajustar la brillantor de la imatge amb aquest mètode intuïtiu, utilitzant el paràmetre de brillància especificat. Ideal per als desenvolupadors que busquen millorar o disminuir dinàmicament la llum general de les imatges.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Valor de la llum.
AdjustContrast(Float)
Millora el contrast del Aspose.Imaging.Imageper fer que els detalls destaquin amb aquest mètode intuïtiu. ideal per als desenvolupadorsBusquen millorar la claredat visual i l’impacte de les seves imatges dinàmicament.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Valor de contrast (en rang [-100; 100])
AdjustGamma(Float)
Aplica la correcció gamma a la imatge utilitzant un coeficient de punt flotantIdeal per als desenvolupadors que busquen control de color precísen les seves imatges.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Gamma per a canals vermell, verd i blau coeficient
AdjustGamma(Float, float i flot)
Permet la correcció gamma a la imatge per separat per als canals vermells, verds i blaus.utilitzar coeficients individuals amb aquest mètode intuïtiu. ideal per als desenvolupadors que busquenPer tal d’equilibrar el color i millorar la qualitat visual de les seves imatges.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma per al coeficient de canals vermells
gammaGreen
float
Gamma per al coeficient de canals verds
gammaBlue
float
Gamma per al coeficient de canal blau
BinarizeBradley(El doble, int)
Binarització d’una imatge utilitzant l’algoritme de límit adaptatiu de Bradley mitjançant la limitació integral de la imatge
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
La diferència de brillantor entre el píxel i la mitjana d’una s x s finestra de píxelscentrada al voltant d’aquest pixel.
windowSize
int
La mida de la finestra s x s dels píxels centrat al voltant d’aquest píxel
BinarizeFixed(El byte)
Intenta binaritzar la imatge utilitzant un límit predefinit amb aquestMètode intuïtiu. ideal per als desenvolupadors que busquen convertir imatges en forma binària,simplificar-los per a més processament o anàlisi.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Si el valor gris corresponent d’un píxel és més gran que el límit, un valor255 serà assignat a ella, 0 d’una altra manera.
BinarizeOtsu()
Permet la binarització en la imatge utilitzant el límit Otsu amb aquest mètode intuïtiu.Ideal per als desenvolupadors que busquen determinar automàticament el límit òptim perConvertir imatges en forma binària, augmentant la seva claredat i adequació per a anàlisis addicionals.
public override void BinarizeOtsu()
Crop(Rectangle)
Creu sense esforç la imatge per centrar-se en àrees específiques amb aquest mètode intuïtiu.Ideal per als desenvolupadors que busquen perfeccionar dinàmicament la composició de les seves imatges.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
El rectangle
Crop(Int, int, int, int)
Creu l’imatge mentre ajusta els canvis sense segell amb aquest mètode intuïtiu.Ideal per als desenvolupadors que busquen control precís sobre el procés de recaptacióConcentrar-se en àrees específiques de les seves imatges Apng.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
El canvi de esquerra.
rightShift
int
El canvi correcte.
topShift
int
El canvi superior.
bottomShift
int
El canvi de baix.
Dither(DitheringMetode, int, IColorPalette)
Aplicar fàcilment els efectes de difusió a la imatge actual amb aquest mètode intuïtiu.Ideal per als desenvolupadors que busquen afegir textura o reduir la bandera de colors a les seves imatges.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
El mètode de difusió.
bitsCount
int
Els bits finals compten per a la difusió.
customPalette
IColorPalette
El costum de la paleta per a la difusió.
Filter(Rectangle, FilterOptionsBase)
Aplica sense esforç els filtres al rectangle especificat de la imatge amb aquestMètode intuïtiu. perfecte per als desenvolupadors que busquen millorar o modificar àrees específiques.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
El rectangle
options
FilterOptionsBase
Les opcions.
GetDefaultOptions(Objecte[])
Retirar les opcions de default sense esforç amb aquest mètode senzill.Ideal per als desenvolupadors que busquen accés ràpid a les configuracions d’imatge de l’Apng.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[]
Els arguments .
Returns
Opcions de default
GetModifyDate(La botiga)
Obtenir ràpidament la data i l’hora en què la imatge de la font va ser modificada per última vegadaIdeal per als desenvolupadors que necessiten rastrejar els canvisgestionar els recursos de manera eficaç.
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
si s’estableix a ’true’ utilitza la informació de FileInfo com a valor estàndard.
Returns
La data i l’hora de la imatge de recursos es va modificar per última vegada.
GetOriginalOptions()
Retrieve opcions basades en les configuracions de fitxers originals sense esforç amb aquest mètode intuïtiu.Ideal per als desenvolupadors que busquen accedir i utilitzar les configuracions que s’alignin amb les característiquesdels arxius originals.Això pot ser útil per mantenir la profunditat de bit i altres paràmetres de la imatge original sense canvis.Per exemple, si carregem una imatge PNG de blanc i negre amb 1 bit per píxel i llavors l’emmagatzememàvem utilitzant elAspose.Imaging.DataStreamSupporter.Save(System.String) mètode, la imatge PNG de sortida amb 8 bits per píxel es produirà.Per evitar-ho i salvar la imatge PNG amb 1 bit per píxel, utilitzeu aquest mètode per obtenir les opcions d’estalvi corresponents i passar-losEl mètode Aspose.Imaging.Image.Save (System.String,_Wl17.ImagineOptionsBase) és el segon paràmetre.
public override ImageOptionsBase GetOriginalOptions()
Returns
Les opcions basades en la configuració original del fitxer.
GetPagesAsEnumerable()
Tingues les pàgines com enumerables.
protected override IEnumerable<image/> GetPagesAsEnumerable()
Returns
IEnumerable < Image >
Les pròpies pàgines com enumerables.
Grayscale()
Es pot transformar fàcilment la imatge en la seva representació graus amb aquest mètode intuïtiu.Ideal per als desenvolupadors que busquen convertir les imatges de color a greixos, simplificant-lesProcessos de visualització o anàlisi.
public override void Grayscale()
InsertFrame(Int)
Insereix sense esforç un nou quadre en la teva col·lecció de quadres a l’especificadaamb aquest mètode intuïtiu. ideal per als desenvolupadors que busquen control precís sobrel’arrendament dels quadres en les seves animacions d’imatges multi-frames.Es crearà un nou quadre segons la mida de la imatge actual.
public ApngFrame InsertFrame(int index)
Parameters
index
int
El seu índex.
Returns
El nou quadre APNG creat.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
InsertFrame(Títol: RasterImage)
Insereix un nou marc en la pròpia col·lecció de marc a l’índex especificat.Els continguts del nou marc s’ompliran de la imatge especificada.
public void InsertFrame(int index, RasterImage frameImage)
Parameters
index
int
El seu índex.
frameImage
RasterImage
Imatge del quadre.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
El frameimage és zero.
InsertFrame(Imatge de Rasterimage, uint)
Insereix un nou marc en la pròpia col·lecció de marc a l’índex especificat.Els continguts del nou marc s’ompliran de la imatge especificada.
public void InsertFrame(int index, RasterImage frameImage, uint frameTime)
Parameters
index
int
El seu índex.
frameImage
RasterImage
Imatge del quadre.
frameTime
uint
La durada del quadre, en milliseconds.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
El frameimage és zero.
PopFrameAt(Int)
Elimina i recupera el marc a l’índex especificat de la teva col·lecció de quadresamb aquest mètode intuïtiu. perfecte per als desenvolupadors que busquen una gestió eficientamb els seus quadres en les seves animacions.
public ApngFrame PopFrameAt(int index)
Parameters
index
int
El seu índex.
Returns
El marc APNG eliminat.
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ReleaseManagedResources()
Assegureu-vos que no es lliuren recursos no gestionats aquí, ja que poden haver estatJa està alliberat.
protected override void ReleaseManagedResources()
RemoveAllFrames()
Clarifiqueu la vostra col·lecció de marc eliminant tots els marcats amb aquest mètode intuïtiu.Ideal per als desenvolupadors que busquen resetar o refrescar les seves animacions.
public void RemoveAllFrames()
Examples
L’exemple següent mostra com crear una imatge APNG d’una altra imatge de raster de pàgina única.
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)
Retirar el marc a l’índex especificat de la vostra col·lecció de marc sense segellPerfecte per als desenvolupadors que busquen una gestió estricta dels quadresen les seves imatges multiframes.El marc que s’eliminarà es dissol.
public void RemoveFrameAt(int index)
Parameters
index
int
El seu índex.
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ResetDefaultImage()
Elimina una imatge predefinida amb aquest mètode intuïtiu.Ideal per als desenvolupadors que busquen resetre o esborrar la imatge estàndard en la seva animació.Després d’això, la imatge estàndard és el primer quadre de la pròpia col·lecció de quadres(no es pot eliminar utilitzant aquest mètode).
public void ResetDefaultImage()
Resize(Int, int, ResizeTyp)
Recrear la imatge sense fer-ho amb aquest mètode intuïtiu. perfecte per als desenvolupadorsBusquen ajustar dinàmicament les dimensions de les seves imatges.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
La nova amplada.
newHeight
int
La nova alçada.
resizeType
ResizeType
El tipus de residus.
Resize(Int, int, ImageResizeSettings)
Recupera la imatge.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
La nova amplada.
newHeight
int
La nova alçada.
settings
ImageResizeSettings
La restauració de les instal·lacions.
ResizeHeightProportionally(Títol, Resistència)
S’ajusta fàcilment l’alçada de la imatge mentre manté les seves proporcionsamb aquest mètode intuïtiu. perfecte per als desenvolupadors que busquen resumir imatgesDinàmica, mantenint el seu aspecte proporcional.
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
La nova alçada.
resizeType
ResizeType
Tipus de recorregut.
ResizeWidthProportionally(Títol, Resistència)
Proporcionalment ressec la amplada de la imatge sense esforç amb aquest mètode intuïtiu.Ideal per als desenvolupadors que busquen mantenir la proporció d’aspecte de les seves imatges mentreajustar les seves dimensions.
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)
Parameters
newWidth
int
La nova amplada.
resizeType
ResizeType
Tipus de recorregut.
Rotate(Float, bool i color)
Rota la imatge al voltant del seu centre sense esforç amb aquest mètode intuïtiu.Ideal per als desenvolupadors que busquen ajustar l’orientació de les seves imatges dinàmicament.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
L’angle de rotació en graus. els valors positius giraran de manera horària.
resizeProportionally
bool
si s’estableix a ’true’ haurà canviat la mida de la imatge segons les projeccions rectangles (punts de cor) girades en altres casos que deixen les dimensions sense tocar i només interiors els continguts d’imatge es giren.
backgroundColor
Color
El color del fons.
RotateFlip(RotateFlipType)
Manipular sense esforç el marc actiu mitjançant la rotació, la flipació o tots dos.amb aquest mètode intuïtiu. ideal per als desenvolupadors que busquen personalitzarOrientació del quadre de la imatge.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
El tipus de flip rotat.
SaveData(Stream)
Estalvia les dades.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
El flux per salvar les dades a.
SetDefaultImage(RasterImage)
Establir la imatge de raster especificada com a imatge estàndard per a l’animació actualfàcilment amb aquest mètode. perfecte per als desenvolupadors que busquen personalitzarImatge en les seves animacions.
public void SetDefaultImage(RasterImage image)
Parameters
image
RasterImage
La imatge .
Exceptions
La imatge és zero.
UpdateDimensions(Int, Int)
Actualitza les dimensions de la imatge.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
La nova imatge d’amplada.
newHeight
int
Alçada de la nova imatge.
UpdateMetadata()
Actualitza els metadats de la imatge.
protected override void UpdateMetadata()