Class ApngImage

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

uint

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

FileFormat

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

bool

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

int

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

int

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

XmpPacketWrapper

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

ApngFrame

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

ArgumentNullException

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

ArgumentNullException

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

ArgumentNullException

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

ImageOptionsBase

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

DateTime

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

ImageOptionsBase

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

ApngFrame

O novo frame APNG.

Exceptions

ArgumentOutOfRangeException

index’ is less than 0.orindex’ 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

ArgumentOutOfRangeException

index’ is less than 0.orindex’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.

ArgumentNullException

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

ArgumentOutOfRangeException

index’ is less than 0.orindex’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.

ArgumentNullException

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

ApngFrame

Eliminação do frame APNG.

Exceptions

ArgumentOutOfRangeException

index’ is less than 0.orindex’ 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 &lt; numOfFrames - 1; ++frameIndex)
                                                                                                              {
                                                                                                                  apngImage.AddFrame(sourceImage);
                                                                                                                  ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
                                                                                                                  float gamma = frameIndex &gt;= 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

ArgumentOutOfRangeException

index’ is less than 0.orindex’ 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

ArgumentNullException

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()
 Português