Class ApngImage
Nome do espaço: Aspose.Imaging.FileFormats.Apng Assembleia: Aspose.Imaging.dll (25.4.0)
PNG (Animated Portable Network Graphics) arquivo de imagemO formato é uma solução versátil para os desenvolvedores que procuram integrarconteúdo animado em suas aplicações. esta API oferece extensãocontrole sobre configurações de frame, permitindo que os usuários definam frame-specificparâmetros, incluindo a duração do loop e configurações de arquivo PNG.Ferramentas ricas em recursos, você pode gerenciar e otimizar sem esforço a telaImagens APNG, Imagens de importação e exportação, melhorando a dinâmica eAspectos interativos das suas aplicações.
[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
Membros herdados
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
O exemplo a seguir mostra como exportar o formato de arquivo APNG de outros formatos multi-páginas não animados.
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
}
O exemplo a seguir mostra como exportar para o formato de arquivo 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
}
O exemplo a seguir mostra como criar uma imagem APNG de outra imagem de uma única página de raster.
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.FileFormats.Apng;
const int AnimationDuration = 1000; // 1 s
const int FrameDuration = 70; // 70 ms
using (RasterImage sourceImage = (RasterImage)Image.Load("not_animated.png"))
{
ApngOptions createOptions = new ApngOptions
{
Source = new FileCreateSource("raster_animation.png", false),
DefaultFrameTime = (uint)FrameDuration,
ColorType = PngColorType.TruecolorWithAlpha,
};
using (ApngImage apngImage = (ApngImage)Image.Create(
createOptions,
sourceImage.Width,
sourceImage.Height))
{
// It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;
int numOfFrames = AnimationDuration / FrameDuration;
int numOfFrames2 = numOfFrames / 2;
// Cleaning because the image contains one frame by default
apngImage.RemoveAllFrames();
// add first frame
apngImage.AddFrame(sourceImage);
// add intermediate frames
for (int frameIndex = 1; frameIndex < numOfFrames - 1; ++frameIndex)
{
apngImage.AddFrame(sourceImage);
ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
float gamma = frameIndex >= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
lastFrame.AdjustGamma(gamma);
}
// add last frame
apngImage.AddFrame(sourceImage);
apngImage.Save();
}
}
Constructors
ApngImage(Opções, int, int)
Comece a trabalhar com a classe Aspose.Imaging.FileFormats.Apng.ApngImage iniciandouma nova instância sem esforço. perfeito para os desenvolvedores que procuram começarUsar Objetos ApngImage de forma rápida e eficiente em seus projetos.
public ApngImage(ApngOptions options, int width, int height)
Parameters
options
ApngOptions
As opções .
width
int
A largura .
height
int
A altura .
Properties
DefaultFrameTime
Ajuste facilmente a duração do quadro padrão para criar novos quadros comEsta propriedade flexível.Perfeito para desenvolvedores que procuram personalizar o tempo do quadroeficientemente em suas animações.
public uint DefaultFrameTime { get; set; }
Valor da propriedade
Examples
O exemplo a seguir mostra como criar uma imagem APNG de outra imagem de uma única página de raster.
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.FileFormats.Apng;
const int AnimationDuration = 1000; // 1 s
const int FrameDuration = 70; // 70 ms
using (RasterImage sourceImage = (RasterImage)Image.Load("not_animated.png"))
{
ApngOptions createOptions = new ApngOptions
{
Source = new FileCreateSource("raster_animation.png", false),
DefaultFrameTime = (uint)FrameDuration,
ColorType = PngColorType.TruecolorWithAlpha,
};
using (ApngImage apngImage = (ApngImage)Image.Create(
createOptions,
sourceImage.Width,
sourceImage.Height))
{
// It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;
int numOfFrames = AnimationDuration / FrameDuration;
int numOfFrames2 = numOfFrames / 2;
// Cleaning because the image contains one frame by default
apngImage.RemoveAllFrames();
// add first frame
apngImage.AddFrame(sourceImage);
// add intermediate frames
for (int frameIndex = 1; frameIndex < numOfFrames - 1; ++frameIndex)
{
apngImage.AddFrame(sourceImage);
ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
float gamma = frameIndex >= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
lastFrame.AdjustGamma(gamma);
}
// add last frame
apngImage.AddFrame(sourceImage);
apngImage.Save();
}
}
FileFormat
Aceder rapidamente à informação sobre o formato de arquivo com esta propriedade conveniente.Ideal para desenvolvedores que precisam obter detalhes sobre o formatode seus arquivos Apng facilmente.
public override FileFormat FileFormat { get; }
Valor da propriedade
Interlaced
Determine rapidamente se este objeto Aspose.Imaging.FileFormats.Png.PngImage está interligadocom esta propriedade conveniente. ideal para os desenvolvedores que precisam verificarO status de interligação das imagens PNG é fácil.
public bool Interlaced { get; }
Valor da propriedade
NumPlays
Controle com facilidade o número de vezes que sua animação corre com estepropriedade versátil. perfeito para desenvolvedores que buscam controle preciso sobreComportamento de animação, com suporte para looping infinito no caso deO valor é igual a 0.
public int NumPlays { get; set; }
Valor da propriedade
PageCount
Retirar o número total de páginas em seu arquivo de imagem sem esforço com esta propriedade.Ideal para desenvolvedores que precisam de acesso rápido às informações de conta de página.
public override int PageCount { get; }
Valor da propriedade
Pages
Acessar facilmente as páginas da sua imagem com esta propriedade conveniente.Perfeito para desenvolvedores que buscam acesso rápido e fácil a páginas individuais para manipulação.
public override Image[] Pages { get; }
Valor da propriedade
Image [ ]
XmpData
Gerenciar com facilidade os metadados XMP associados aos seus arquivos usando estePropriedade versátil.Perfeito para desenvolvedores que buscam acesso ou atualizaçãoInformações metadáticas com facilidade.
public override XmpPacketWrapper XmpData { get; set; }
Valor da propriedade
Methods
AddFrame()
Adicione facilmente um novo quadro ao final da sua coleção de quadros com esteMétodo simples. ideal para desenvolvedores que procuram expandir o seuA coleção de quadros é dinâmica para animações com imagens multi-quadro.Um novo quadro será criado de acordo com o tamanho da imagem atual.
public ApngFrame AddFrame()
Returns
O novo frame APNG.
AddFrame(RasterImage)
Com facilidade expandir a sua coleção de quadros adicionando um novo quadro ao finalcom este método intuitivo. perfeito para os desenvolvedores que procuram melhorar o seuAnimações de imagens multi-frame dinâmicas.Os conteúdos do novo quadro serão preenchidos da imagem especificada.
public void AddFrame(RasterImage frameImage)
Parameters
frameImage
RasterImage
A imagem do frame.
Examples
O exemplo a seguir mostra como criar uma imagem APNG de outra imagem de uma única página de raster.
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.FileFormats.Apng;
const int AnimationDuration = 1000; // 1 s
const int FrameDuration = 70; // 70 ms
using (RasterImage sourceImage = (RasterImage)Image.Load("not_animated.png"))
{
ApngOptions createOptions = new ApngOptions
{
Source = new FileCreateSource("raster_animation.png", false),
DefaultFrameTime = (uint)FrameDuration,
ColorType = PngColorType.TruecolorWithAlpha,
};
using (ApngImage apngImage = (ApngImage)Image.Create(
createOptions,
sourceImage.Width,
sourceImage.Height))
{
// It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;
int numOfFrames = AnimationDuration / FrameDuration;
int numOfFrames2 = numOfFrames / 2;
// Cleaning because the image contains one frame by default
apngImage.RemoveAllFrames();
// add first frame
apngImage.AddFrame(sourceImage);
// add intermediate frames
for (int frameIndex = 1; frameIndex < numOfFrames - 1; ++frameIndex)
{
apngImage.AddFrame(sourceImage);
ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
float gamma = frameIndex >= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
lastFrame.AdjustGamma(gamma);
}
// add last frame
apngImage.AddFrame(sourceImage);
apngImage.Save();
}
}
Exceptions
O frameImage é nulo.
AddFrame(Apresentação, UINT)
Expande sua coleção de quadros sem fio aplicando um novo quadro àcom este método intuitivo. ideal para desenvolvedores que procuram enriquecer seusAnimação de imagens multi-frame.Os conteúdos do novo quadro serão preenchidos da imagem especificada.
public void AddFrame(RasterImage frameImage, uint frameTime)
Parameters
frameImage
RasterImage
A imagem do frame.
frameTime
uint
A duração do quadro, em milisegundos.
Exceptions
O frameImage é nulo.
AddPage(RasterImage)
Adicione uma nova página à imagem sem esforço com este método intuitivo.Perfeito para desenvolvedores que procuram expandir o conteúdo de seus arquivos de imagem dinâmicamente.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
Página para adicionar.
Exceptions
page’ is null.
AdjustBrightness(Int)
Facilmente ajustar a brilho da imagem com este método intuitivo, usando o parâmetro de brilho especificado. ideal para desenvolvedores que buscam melhorar ou diminuir a brilho geral das imagens dinâmicamente.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Valor de brilho.
AdjustContrast(Flotação)
Melhorar o contraste do Aspose.Imaging.Imagepara fazer detalhes surgir com este método intuitivo. ideal para desenvolvedoresBuscando melhorar a clareza visual e o impacto de suas imagens dinâmicamente.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Valor de contraste (em faixa [-100; 100])
AdjustGamma(Flotação)
Aplique a correção de gama para a imagem usando um coeficiente de ponto de fluxoIdeal para desenvolvedores que buscam controle de cor precisoem suas imagens.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Gamma para os canais vermelho, verde e azul coeficiente
AdjustGamma(Flotas, Flotas e Flotas)
Faça correção de gama na imagem separadamente para os canais vermelho, verde e azulusar coeficientes individuais com este método intuitivo. ideal para os desenvolvedores que procuramPara melhorar o equilíbrio de cores e melhorar a qualidade visual das suas imagens.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma para o Coeficiente de Canais Vermelhos
gammaGreen
float
Gamma para o coeficiente de canais verdes
gammaBlue
float
Gamma para o coeficiente de canais azuis
BinarizeBradley(duplo, int)
Binarização de uma imagem usando o algoritmo de limite de adaptação de Bradley usando o limite de imagem integral
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
A diferença de brilho entre o pixel e a média de uma janela s x s de pixelsO foco é em torno deste pixel.
windowSize
int
O tamanho da janela s x s de pixels centrada em torno deste pixel
BinarizeFixed(em byte)
Com facilidade binarize a imagem usando um limiar pré-definido com esteIdeal para desenvolvedores que procuram converter imagens em formas binárias,simplificá-los para mais processamento ou análise.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Se o valor cinzento correspondente de um pixel for maior do que o limite, um valor de255 será atribuído a ele, 0 de outra forma.
BinarizeOtsu()
Faça binarização na imagem usando o limite Otsu com este método intuitivo.Ideal para desenvolvedores que buscam determinar automaticamente o limiar ideal paraConverter imagens em formas binárias, melhorando a sua clareza e a sua adequação para análise adicional.
public override void BinarizeOtsu()
Crop(Rectangle)
Cresce sem esforço a imagem para se concentrar em áreas específicas com este método intuitivo.Perfeito para desenvolvedores que procuram aperfeiçoar dinamicamente a composição de suas imagens.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
do rectangulo.
Crop(Int, int, int, int, int)
Cultivar a imagem ao ajustar as mudanças sem fio com este método intuitivo.Ideal para desenvolvedores que buscam controle preciso sobre o processo de colheitapara se concentrar em áreas específicas de suas imagens Apng.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
A esquerda mudou.
rightShift
int
A mudança certa.
topShift
int
O topo da mudança.
bottomShift
int
A mudança do fundo.
Dither(DitheringMétodo, int, IColorPalette)
Aplicar facilmente os efeitos de difusão à imagem atual com este método intuitivo.Ideal para desenvolvedores que procuram adicionar textura ou reduzir a ligação de cores em suas imagens.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Metodologia do Dilúvio.
bitsCount
int
Os bits finais contam para dithering.
customPalette
IColorPalette
A paleta custom para dithering.
Filter(Rectangle, FilterOptionsBase)
Aplique facilmente os filtros para o rectangulo especificado da imagem com esteIdeal para desenvolvedores que buscam melhorar ou modificar áreas específicas.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
do rectangulo.
options
FilterOptionsBase
As opções .
GetDefaultOptions(Objeto[])
Retirar as opções padrão sem esforço com este método simples.Ideal para desenvolvedores que buscam acesso rápido às configurações de imagem padrão da Apng.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[ ]
Os argumentos .
Returns
Opções Default
GetModifyDate(Bolha)
Obtenha rapidamente a data e a hora em que a imagem da fonte foi modificada pela última vezIdeal para desenvolvedores que precisam rastrear mudançase gerenciar eficazmente os recursos.
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
Se configurado para “verdadeiro”, use as informações do FileInfo como valor padrão.
Returns
A data e a hora da imagem da fonte foi modificada pela última vez.
GetOriginalOptions()
Retrieve opções com base nas configurações de arquivo originais sem esforço com este método intuitivo.Perfeito para desenvolvedores que procuram acessar e utilizar configurações que alinhem com as característicasdo arquivo original.Isso pode ser útil para manter a profundidade do bit e outros parâmetros da imagem original inalterados.Por exemplo, se carregarmos uma imagem PNG de preto e branco com 1 bit por pixel e, em seguida, salvá-la usando oAspose.Imaging.DataStreamSupporter.Save(System.String) método, a imagem PNG de saída com 8 bits por pixel será produzida.Para evitar isso e salvar a imagem PNG com 1 bits por pixel, use este método para obter opções de poupança correspondentes e passá-laspara o método Aspose.Imaging.Image.Save(System.String,Aspose.Imaging.ImageOptionsBase) como o segundo parâmetro.
public override ImageOptionsBase GetOriginalOptions()
Returns
As opções baseadas nas configurações de arquivo originais.
GetPagesAsEnumerable()
Faça as páginas como enumeráveis.
protected override IEnumerable<image/> GetPagesAsEnumerable()
Returns
IEnumerable e o PT; Image >
As próprias páginas como enumeráveis.
Grayscale()
É fácil transformar a imagem em sua representação de grayscale com este método intuitivo.Ideal para desenvolvedores que procuram converter imagens de cores em cinzas, simplificando suasProcessos de visualização ou análise.
public override void Grayscale()
InsertFrame(Int)
Insira com dificuldade um novo quadro em sua coleção de quadros na especificadaIdeal para desenvolvedores que buscam controle preciso sobreO arranjo de quadros em suas animações de imagens multi-quadro.Um novo quadro será criado de acordo com o tamanho da imagem atual.
public ApngFrame InsertFrame(int index)
Parameters
index
int
e o índice.
Returns
O novo frame APNG.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
InsertFrame(Título: RasterImage)
Insira um novo quadro na própria coleção de quadros no índice especificado.Os conteúdos do novo quadro serão preenchidos da imagem especificada.
public void InsertFrame(int index, RasterImage frameImage)
Parameters
index
int
e o índice.
frameImage
RasterImage
A imagem do frame.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
O frameImage é nulo.
InsertFrame(Int, RasterImage e Uint)
Insira um novo quadro na própria coleção de quadros no índice especificado.Os conteúdos do novo quadro serão preenchidos da imagem especificada.
public void InsertFrame(int index, RasterImage frameImage, uint frameTime)
Parameters
index
int
e o índice.
frameImage
RasterImage
A imagem do frame.
frameTime
uint
A duração do quadro, em milisegundos.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
O frameImage é nulo.
PopFrameAt(Int)
Remova e retire o quadro no índice especificado da sua coleção de quadrosCom este método intuitivo. perfeito para desenvolvedores que procuram uma gestão eficientedos quadros em suas animações.
public ApngFrame PopFrameAt(int index)
Parameters
index
int
e o índice.
Returns
Eliminação do frame APNG.
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ReleaseManagedResources()
Assegure-se de que os recursos não gerenciados não são liberados aqui, uma vez que eles podem ter sidoJá foi liberado.
protected override void ReleaseManagedResources()
RemoveAllFrames()
Limpe sua coleção de quadros removendo todos os quadros com este método intuitivo.Ideal para desenvolvedores que procuram reinstalar ou refrescar suas animações.
public void RemoveAllFrames()
Examples
O exemplo a seguir mostra como criar uma imagem APNG de outra imagem de uma única página de raster.
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.FileFormats.Apng;
const int AnimationDuration = 1000; // 1 s
const int FrameDuration = 70; // 70 ms
using (RasterImage sourceImage = (RasterImage)Image.Load("not_animated.png"))
{
ApngOptions createOptions = new ApngOptions
{
Source = new FileCreateSource("raster_animation.png", false),
DefaultFrameTime = (uint)FrameDuration,
ColorType = PngColorType.TruecolorWithAlpha,
};
using (ApngImage apngImage = (ApngImage)Image.Create(
createOptions,
sourceImage.Width,
sourceImage.Height))
{
// It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;
int numOfFrames = AnimationDuration / FrameDuration;
int numOfFrames2 = numOfFrames / 2;
// Cleaning because the image contains one frame by default
apngImage.RemoveAllFrames();
// add first frame
apngImage.AddFrame(sourceImage);
// add intermediate frames
for (int frameIndex = 1; frameIndex < numOfFrames - 1; ++frameIndex)
{
apngImage.AddFrame(sourceImage);
ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
float gamma = frameIndex >= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
lastFrame.AdjustGamma(gamma);
}
// add last frame
apngImage.AddFrame(sourceImage);
apngImage.Save();
}
}
RemoveFrameAt(Int)
Remova o quadro no índice especificado da sua coleção de quadros sem sequerPerfeito para os desenvolvedores que procuram uma gestão simplificada de quadrosem suas imagens multi-frame.O quadro a ser apagado será apagado.
public void RemoveFrameAt(int index)
Parameters
index
int
e o índice.
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ResetDefaultImage()
Remova uma imagem predefinida com este método intuitivo.Ideal para desenvolvedores que procuram reinstalar ou limpar a imagem padrão em sua animação.Depois disso, a imagem padrão é o primeiro quadro na própria coleção de quadros(Não pode ser removido usando este método).
public void ResetDefaultImage()
Resize(Int, Int, ResizeType)
Rescreva a imagem sem fio com este método intuitivo.Perfeito para desenvolvedorestentando ajustar dinamicamente as dimensões das suas imagens.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
A nova amplitude.
newHeight
int
A nova altura.
resizeType
ResizeType
O tipo de resgate.
Resize(Int, Int, ImagemResizeSettings)
Recuperar a imagem.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
A nova amplitude.
newHeight
int
A nova altura.
settings
ImageResizeSettings
As definições de recessão.
ResizeHeightProportionally(Título: ResizeType)
Ajuste com facilidade a altura da sua imagem enquanto mantém as suas proporçõesCom este método intuitivo. perfeito para desenvolvedores que procuram resgatar imagensDinâmica, ao mesmo tempo que preserva o seu aspecto.
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
A nova altura.
resizeType
ResizeType
Tipo de reposição.
ResizeWidthProportionally(Título: ResizeType)
Proporcionalmente resigure a largura da imagem sem esforço com este método intuitivo.Ideal para desenvolvedores que procuram manter a proporção de aspecto de suas imagens enquantoajustar suas dimensões.
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)
Parameters
newWidth
int
A nova amplitude.
resizeType
ResizeType
Tipo de reposição.
Rotate(Float, Bool, Coloração)
Rotar a imagem em torno de seu centro sem esforço com este método intuitivo.Perfeito para desenvolvedores que procuram ajustar a orientação de suas imagens dinâmicamente.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
O ângulo de rotação em graus. valores positivos girarão de maneira horária.
resizeProportionally
bool
se configurado para ‘verdadeiro’ você terá o seu tamanho da imagem alterado de acordo com as projeções rectangular rotadas (puntos de corno) noutro caso que deixam as dimensões não tocadas e apenasinternal conteúdos da imagem são rotados.
backgroundColor
Color
A cor do fundo.
RotateFlip(RotateFlipType)
Manipular o quadro ativo sem esforço por rotação, flipping ou ambos.com este método intuitivo. ideal para desenvolvedores que procuram personalizarorientação da imagem.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Tipo de flip rotativo.
SaveData(Stream)
Salve os dados.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
O fluxo para salvar dados para.
SetDefaultImage(RasterImage)
Configurar a imagem de raster especificada como a imagem padrão para a animação atualsem esforço com este método. perfeito para desenvolvedores que procuram personalizarA imagem padrão em suas animações.
public void SetDefaultImage(RasterImage image)
Parameters
image
RasterImage
A imagem .
Exceptions
A imagem é nula.
UpdateDimensions(Int, Int)
Atualiza as dimensões da imagem.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
A nova imagem de largura.
newHeight
int
O novo tamanho da imagem.
UpdateMetadata()
Atualiza os metadados da imagem.
protected override void UpdateMetadata()