Class GifImage
Il nome: Aspose.Imaging.FileFormats.Gif Assemblea: Aspose.Imaging.dll (25.4.0)
L’API per il formato grafico di scambio (GIF) file immagine forniscesviluppatori con strumenti versatili per elaborare immagini di raster compresse eGIF animati. offrendo funzionalità come XMP metadata handling, palette di coloriImpostazioni, background e controllo colorato trasparente, impostazione di opacità, riassegnazione,crop, applicazione del filtro, correzioni gamma, adeguamento del contrasto, grayscaletrasformazione e conversione in altri formati.Questa API fornisce la possibilità diManipolazione e miglioramento delle immagini GIF per una vasta gamma di applicazioni.
[JsonObject(MemberSerialization.OptIn)]
public sealed class GifImage : RasterCachedMultipageImage, IDisposable, IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IHasXmpData, IHasMetadata, IMultipageImageExt, IMultipageImage
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← RasterImage ← RasterCachedImage ← RasterCachedMultipageImage ← GifImage
Implements
IDisposable , IObjectWithBounds , IRasterImageArgb32PixelLoader , IRasterImageRawDataLoader , IHasXmpData , IHasMetadata , IMultipageImageExt , IMultipageImage
I membri ereditari
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’esportazione di parte dell’animazione dall’immagine GIF basata su intervalli di tempo.
using (var image = Image.Load("Animation.gif"))
{
var options = new GifOptions
{
FullFrame = true,
MultiPageOptions = new MultiPageOptions
{
Mode = MultiPageMode.TimeInterval,
TimeInterval = new TimeInterval(0, 400)
}
};
image.Save("PartOfAnimation.gif", options);
}
Questo esempio mostra come creare un’immagine GIF e salvarla in un file.
string dir = "c:\\temp\\";
// Create a GIF Frame block of 100x100 px.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
{
// Fill the entire block in red.
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(firstBlock);
Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
gr.FillRectangle(brush, firstBlock.Bounds);
using (Aspose.Imaging.FileFormats.Gif.GifImage gifImage = new Aspose.Imaging.FileFormats.Gif.GifImage(firstBlock))
{
gifImage.Save(dir + "output.gif");
}
}
Creare immagini GIF multipagine utilizzando immagini di raster di pagina singola.
static void Main(string[] args)
{
// Load frames
var frames = LoadFrames("Animation frames").ToArray();
// Create GIF image using the first frame
using (var image = new GifImage(new GifFrameBlock(frames[0])))
{
// Add frames to the GIF image using the AddPage method
for (var index = 1; index < frames.Length; index++)
{
image.AddPage(frames[index]);
}
// Save GIF image
image.Save("Multipage.gif");
}
}
private static IEnumerable<rasterimage> LoadFrames(string directory)
{
foreach (var filePath in Directory.GetFiles(directory))
{
yield return (RasterImage)Image.Load(filePath);
}
}</rasterimage>
Constructors
GifImage(GifFrameBlock e IColorPalette)
Iniziare un nuovo oggetto Aspose.Imaging.FileFormats.Gif. GifImage con parametri specificati per ilprimo quadro e paletta globale. iniziare a gestire le immagini GIF rapidamente, assicurandorappresentazione accurata con impostazioni personalizzabili per risultati ottimali.
public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette)
Parameters
firstFrame
GifFrameBlock
Il primo quadro per inizializzare l’immagine gif con.
globalPalette
IColorPalette
Nota se entrambi i firstFrame’ e
Examples
Questo esempio mostra come creare un’immagine GIF con una paletta personalizzata e salverla in un file.
string dir = "c:\\temp\\";
// Create a GIF Frame block of 100x100 px.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
{
// Fill the entire block in red.
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(firstBlock);
Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
gr.FillRectangle(brush, firstBlock.Bounds);
// Use 4-bit palette to reduce the image size. The quality can get worse.
Aspose.Imaging.IColorPalette palette = Aspose.Imaging.ColorPaletteHelper.Create4Bit();
using (Aspose.Imaging.FileFormats.Gif.GifImage gifImage = new Aspose.Imaging.FileFormats.Gif.GifImage(firstBlock, palette))
{
gifImage.Save(dir + "output.gif");
}
}
Exceptions
La firstFrame’ non può essere nula
La firstFrame’ appartiene già ad un’altra immagine.
La globalPalette’ specificata dovrebbe contenere il conteggio delle entrate pari alla potenza di 2. la dimensione minima della paletta è 2, il massimo è 256.
GifImage(GifFrameBlock)
La creazione di immagini GIF diventa impeccabile con il Aspose.Imaging.FileFormats.Gif.Con solo il primo parametro Frame, entra in un mondo dinamico.La comunicazione visiva.
public GifImage(GifFrameBlock firstFrame)
Parameters
firstFrame
GifFrameBlock
Il primo quadro per inizializzare l’immagine gif con.
Examples
Questo esempio mostra come creare un’immagine GIF e salvarla in un file.
string dir = "c:\\temp\\";
// Create a GIF Frame block of 100x100 px.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
{
// Fill the entire block in red.
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(firstBlock);
Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
gr.FillRectangle(brush, firstBlock.Bounds);
using (Aspose.Imaging.FileFormats.Gif.GifImage gifImage = new Aspose.Imaging.FileFormats.Gif.GifImage(firstBlock))
{
gifImage.Save(dir + "output.gif");
}
}
L’esempio seguente mostra come compilare un’immagine GIF animata da singoli blocchi Gif.
string dir = "c:\\temp\\";
// Create a GIF image 100 x 100 px.
// The first block is fully black by default.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
using (Aspose.Imaging.FileFormats.Gif.GifImage gifImage = new Aspose.Imaging.FileFormats.Gif.GifImage(firstBlock))
{
// The first circle is red
Aspose.Imaging.Brushes.SolidBrush brush1 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
// The second circle is black
Aspose.Imaging.Brushes.SolidBrush brush2 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Black);
// Gradually inscrease the angle of the red arc shape.
for (int angle = 10; angle <= 360; angle += 10)
{
Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock block = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100);
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(block);
gr.FillPie(brush1, block.Bounds, 0, angle);
gifImage.AddBlock(block);
}
// Gradually inscrease the angle of the black arc and wipe out the red arc.
for (int angle = 10; angle <= 360; angle += 10)
{
Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock block = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100);
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(block);
gr.FillPie(brush2, block.Bounds, 0, angle);
gr.FillPie(brush1, block.Bounds, angle, 360 - angle);
gifImage.AddBlock(block);
}
gifImage.Save(dir + "animated_radar.gif");
}
Exceptions
La firstFrame’ non può essere nula
La firstFrame’ appartiene già ad un’altra immagine.
La paletta specificata deve contenere i numeri di entrate pari alla potenza di 2. la dimensione minima della paleta è 2, il massimo è 256.
GifImage(GifFrameBlock, IColorPalette, Bool, Byte, byte e bool)
Inizia senza sforzo con il costruttore Aspose.Imaging.FileFormats.Gif. GifImage.metodo semplice, si può immersi nella creazione di GIF animati con facilità.primaFrame, globalePalette, paletteColorResolution, aspectRatio, e altriParametri, e sei pronto a portare la tua visione alla vita.
public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette, bool isPaletteSorted, byte paletteColorResolution, byte paletteBackgroundColorIndex, byte aspectRatio, bool hasTrailer)
Parameters
firstFrame
GifFrameBlock
Il primo quadro per inizializzare l’immagine gif con.
globalPalette
IColorPalette
Nota se entrambi i firstFrame’ e
isPaletteSorted
bool
Nota il parametro viene utilizzato quando globalPalette" non è nulo.
paletteColorResolution
byte
Nota il parametro viene utilizzato quando globalPalette’ non è nulo.
paletteBackgroundColorIndex
byte
L’indice di colore di sfondo.
aspectRatio
byte
Il rapporto dell’aspetto.
hasTrailer
bool
se impostato a ’true’ l’immagine gif ha il trailer altrimenti nessun trailer scritto alla fine del flusso.
Exceptions
La firstFrame’ non può essere nula
La firstFrame’ appartiene già ad un’altra immagine.
La globalPalette’ specificata dovrebbe contenere il conteggio delle entrate pari alla potenza di 2. la dimensione minima della paletta è 2, il massimo è 256.
Properties
ActiveFrame
Gestire e manipolare i quadri con questa proprietà, consentendo una flessibile navigazione eModifica del quadro attivo all’interno dell’immagine GIF.
public GifFrameBlock ActiveFrame { get; set; }
Valore di proprietà
Examples
L’esempio seguente mostra come rimuovere tutti i blocchi da un’immagine GIF.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
using (Aspose.Imaging.FileFormats.Gif.GifImage gifImage = new Aspose.Imaging.FileFormats.Gif.GifImage(firstBlock))
{
if (gifImage.ActiveFrame != null)
{
System.Console.WriteLine("Active frame size: {0}", gifImage.ActiveFrame.Size);
}
else
{
System.Console.WriteLine("Active frame is not set");
}
System.Console.WriteLine("Clear all the blocks");
gifImage.ClearBlocks();
if (gifImage.ActiveFrame != null)
{
System.Console.WriteLine("Active frame size: {0}", gifImage.ActiveFrame.Size);
}
else
{
System.Console.WriteLine("Active frame is not set");
}
}
// The output looks like this:
// Active frame size: { Width = 100, Height = 100}
// Clear all the blocks
// Active frame is not set
BackgroundColor
Gestire il colore di sfondo dell’immagine GIF con questa proprietà.Raccogliere il colore di sfondo per garantire la coerenza e migliorare l’attrazione visiva.
public override Color BackgroundColor { get; set; }
Valore di proprietà
BackgroundColorIndex
Controlla l’indice colore di sfondo dell’immagine GIF utilizzando questa proprietà.Raccogliere l’indice per mantenere la coerenza o ottenere gli effetti visivi desiderati.
public byte BackgroundColorIndex { get; set; }
Valore di proprietà
Blocks
Ottieni accesso ai blocchi GIF senza sosta con questa proprietà, facilitando facilmenteIl recupero e la manipolazione delle strutture dati di base dell’immagine.
public IGifBlock[] Blocks { get; }
Valore di proprietà
IGifBlock [ ]
FileFormat
Retrate il formato del file senza sforzo con questa proprietà. è il vostro go-to fonteper identificare il formato dei tuoi file. integrato senza sforzo nel tuo flusso di lavoro,fornisce informazioni vitali senza alcun ostacolo.
public override FileFormat FileFormat { get; }
Valore di proprietà
HasBackgroundColor
Questa proprietà determina se l’immagine GIF contiene un colore di sfondo.verità, indica che l’immagine include un colore di sfondo.
public override bool HasBackgroundColor { get; }
Valore di proprietà
HasTrailer
Gestire la presenza di un trailer nei tuoi file GIF con questa proprietà.è necessario verificare se un trailer esiste o impostare la sua presenza, questa proprietà semplifica ilMantenere i file GIF strutturati e conformi a questa funzione intuitiva.
public bool HasTrailer { get; set; }
Valore di proprietà
HasTransparentColor
Determinare se il quadro attivo dell’immagine GIF contiene un colore trasparente.Questa proprietà fornisce un modo conveniente per controllare la trasparenza all’interno dell’immagine.
public override bool HasTransparentColor { get; set; }
Valore di proprietà
ImageOpacity
Retrate l’opacità del quadro attivo all’interno dell’immagine, offrendo una visioneil suo livello di trasparenza.Questa proprietà è particolarmente utile per comprendere ilil grado di trasparenza o opacità del quadro attivo nell’immagine.
public override float ImageOpacity { get; }
Valore di proprietà
IsInterlaced
Determina se l’immagine è interligata, influenzando la sua visualizzazione durante il caricamento.La proprietà fornisce una comprensione del comportamento rendering dell’immagine, essenziale perottimizzare le strategie di caricamento e migliorare l’esperienza di visualizzazione generale.
public bool IsInterlaced { get; }
Valore di proprietà
IsPaletteSorted
Controlla la classificazione della paletta nelle tue immagini GIF utilizzando questa proprietà.è necessario verificare se la paletta è sortata o impostare il comportamento di sortamento, questoProprietà fornisce un modo semplice per gestire la palette di organizzazione nella tuaIl file GIF.
public bool IsPaletteSorted { get; set; }
Valore di proprietà
LoopsCount
Retrate il numero di loop senza sforzo con questa proprietà. se la vostra immagine GIF includeinformazioni di loop, questa proprietà ti dà un rapido accesso al conteggio di giro, consentendoper gestire senza sforzo il comportamento di looping nei tuoi file GIF.
public int LoopsCount { get; set; }
Valore di proprietà
PageCount
Retrate il numero totale di pagine contenute nell’immagine con questoIdeale per valutare rapidamente la portata del contenuto dell’immagine.
public override int PageCount { get; }
Valore di proprietà
Pages
ottenere l’accesso alle pagine all’interno dell’immagine attraverso questa conveniente proprietà,Permettere la navigazione e la manipolazione delle pagine individuali, se necessario.
public override Image[] Pages { get; }
Valore di proprietà
Image [ ]
PaletteColorResolutionBits
Gestire la risoluzione colorata della paletta delle tue immagini GIF con questa proprietà.il numero di bit utilizzati per rappresentare i colori nella paletta, fornendo un buon controllodi colore e qualità dell’immagine.
public byte PaletteColorResolutionBits { get; set; }
Valore di proprietà
PixelAspectRatio
Gestire il rapporto di aspetto del pixel dell’immagine GIF con questa proprietà.il rapporto di aspetto per garantire un rendering accurato e mantenere la fedeltà visiva.
public byte PixelAspectRatio { get; set; }
Valore di proprietà
TransparentColor
Retrate il colore trasparente del quadro attivo nell’immagine GIF.consente di accedere al colore specifico che è stato designato come trasparentenel quadro attualmente attivo.
public override Color TransparentColor { get; }
Valore di proprietà
XmpData
Gestire i metadati XMP con questa proprietà. se stai recuperando i meta dati esistentio aggiornarlo con nuove informazioni, questa proprietà semplifica il processo.i metadati organizzati e accessibili, assicurando che i tuoi file contenganoinformazioni pertinenti di cui hanno bisogno.
public override XmpPacketWrapper XmpData { get; set; }
Valore di proprietà
Methods
AddBlock(Il blocco)
L’aggiunta di un nuovo blocco GIF consente di includere ulteriori dati all’interno dell’immagine.Questo metodo consente di aggiungere blocchi personalizzati all’immagine GIF, che puòContiene diversi tipi di informazioni.
public void AddBlock(IGifBlock block)
Parameters
block
IGifBlock
Il blocco GIF da aggiungere.
Examples
L’esempio seguente mostra come compilare un’immagine GIF animata da singoli blocchi Gif.
string dir = "c:\\temp\\";
// Create a GIF image 100 x 100 px.
// The first block is fully black by default.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
using (Aspose.Imaging.FileFormats.Gif.GifImage gifImage = new Aspose.Imaging.FileFormats.Gif.GifImage(firstBlock))
{
// The first circle is red
Aspose.Imaging.Brushes.SolidBrush brush1 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
// The second circle is black
Aspose.Imaging.Brushes.SolidBrush brush2 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Black);
// Gradually inscrease the angle of the red arc shape.
for (int angle = 10; angle <= 360; angle += 10)
{
Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock block = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100);
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(block);
gr.FillPie(brush1, block.Bounds, 0, angle);
gifImage.AddBlock(block);
}
// Gradually inscrease the angle of the black arc and wipe out the red arc.
for (int angle = 10; angle <= 360; angle += 10)
{
Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock block = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100);
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(block);
gr.FillPie(brush2, block.Bounds, 0, angle);
gr.FillPie(brush1, block.Bounds, angle, 360 - angle);
gifImage.AddBlock(block);
}
gifImage.Save(dir + "animated_radar.gif");
}
AddPage(RasterImage)
Incorporare una nuova pagina senza segni nell’immagine esistente, migliorando il suo contenutoQuesto metodo aumenta le collezioni di immagini con ulterioriIl contenuto, promuove la creatività e la flessibilità nella gestione dell’immagine e nella composizione.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
La pagina da aggiungere.
Examples
Creare immagini GIF multipagine utilizzando immagini di raster di pagina singola.
static void Main(string[] args)
{
// Load frames
var frames = LoadFrames("Animation frames").ToArray();
// Create GIF image using the first frame
using (var image = new GifImage(new GifFrameBlock(frames[0])))
{
// Add frames to the GIF image using the AddPage method
for (var index = 1; index < frames.Length; index++)
{
image.AddPage(frames[index]);
}
// Save GIF image
image.Save("Multipage.gif");
}
}
private static IEnumerable<rasterimage> LoadFrames(string directory)
{
foreach (var filePath in Directory.GetFiles(directory))
{
yield return (RasterImage)Image.Load(filePath);
}
}</rasterimage>
Exceptions
page’ is null.
AdjustBrightness(int)
Adatta la luminosità dell’immagine secondo il parametro specificatobrightness.Questo metodo modifica uniformemente l’illuminazione dell’intera immagine, migliorando o riducendo la luminanza complessiva per ottenere l’effetto desiderato.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Il valore della luminosità.
Examples
Il seguente esempio esegue la correzione di luminosità di un’immagine GIF.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Set the brightness value. The accepted values of brightness are in the range [-255, 255].
gifImage.AdjustBrightness(50);
gifImage.Save(dir + "sample.AdjustBrightness.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
AdjustContrast(flotta)
Modifica il contrasto dell’immagine, migliorando o riducendo la differenza diLa luminosità tra i pixel.Questo metodo modifica l’intera gamma tonale dell’immagine,rendere le aree più buie più scuri e le zone più luminose più brillanti per migliorare la chiarezza visivae i dettagli.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Valore di contrasto (in gamma [-100; 100])
Examples
Il seguente esempio esegue la correzione di contrasto di un’immagine GIF.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Set the contrast value. The accepted values of contrast are in the range [-100f, 100f].
gifImage.AdjustContrast(50f);
gifImage.Save(dir + "sample.AdjustContrast.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Exceptions
Non si può cambiare il contrasto. Frame index: " + frameIndex
AdjustGamma(flotta)
Migliora la qualità dell’immagine applicando la correzione gamma.Questo metodo regola il coloregamma dell’immagine per ottenere una chiarezza visiva ottimale. modifica il valore gammadi ciascun pixel, con conseguente miglioramento della rendizione del colore e dell’aspetto immagine generale.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Gamma per il coefficiente dei canali rosso, verde e blu
Examples
Il seguente esempio esegue la correzione gamma di un’immagine GIF.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Set gamma coefficient for red, green and blue channels.
gifImage.AdjustGamma(2.5f);
gifImage.Save(dir + "sample.AdjustGamma.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
AdjustGamma(Flotta, flotta e flotta)
La correzione gamma di un’immagine applica un adeguamento non lineare ai valori dei pixel,migliorare o ridurre la luminosità in base ai coefficienti specificati per il rosso;verde, e i canali blu. Questo metodo aiuta a rinfrescare l’equilibrio dei colori eluminanza dell’immagine, migliorando l’aspetto generale e la qualità visiva.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma per il coefficiente del canale rosso
gammaGreen
float
Gamma per il coefficiente del canale verde
gammaBlue
float
Gamma per il coefficiente del canale blu
Examples
L’esempio seguente esegue la correzione gamma di un’immagine GIF applicando coefficienti diversi per i componenti di colore.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Set individual gamma coefficients for red, green and blue channels.
gifImage.AdjustGamma(1.5f, 2.5f, 3.5f);
gifImage.Save(dir + "sample.AdjustGamma.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
BinarizeBradley(Doppio)
Binarizzazione di un’immagine utilizzando l’algoritmo adattivo di Bradley conL’immagine integrale è un metodo per trasformare una immagine grayscale in unaQuesto algoritmo calcola un limite locale per ogni pixel basato sul’intensità media dei pixel circostanti all’interno di una finestra specifica.adeguatamente adattando il limite basato sulle intensità dei pixel locali, Bradley’sIl metodo è efficace nel gestire le variazioni di illuminazione e contrasto in tutta l’immagine.
public override void BinarizeBradley(double brightnessDifference)
Parameters
brightnessDifference
double
La differenza di luminosità tra il pixel e la media di una finestra s x s di pixel centrati intorno a questo pixel.
BinarizeFixed(di byte)
Binarizzazione di un’immagine con un limite predefinito converte una griglia o un coloreImmagine in un’immagine binaria, dove ogni pixel è classificato come nero o biancoa seconda se il suo valore di intensità supera un limite specificato.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Se il valore grigio corrispondente di un pixel è superiore al limite, un valore di 255 sarà assegnato a esso, 0 altrimenti.
Examples
L’esempio seguente binarisce un’immagine GIF con il limite predefinito. immagini binarie contengono solo 2 colori - nero e bianco.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage djvuImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Binarize the image with a threshold value of 127.
// If a corresponding gray value of a pixel is greater than 127, a value of 255 will be assigned to it, 0 otherwise.
djvuImage.BinarizeFixed(127);
djvuImage.Save(dir + "sample.BinarizeFixed.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
BinarizeOtsu()
Binarizzazione di un’immagine con il margine Otsu è un metodo utilizzato per automaticamentedeterminare il valore limite ottimale per la conversione di un’immagine grayscale in unaL’algoritmo di soglia Otsu calcola il limite cheminimizza la variazione intra-classe delle intensità dei pixel nei due risultatiLe lezioni (foreground e background).Questa tecnica è particolarmente utile quandoIl valore limite ottimale è sconosciuto e deve essere determinato in modo adeguato.sul istogramma dell’immagine.
public override void BinarizeOtsu()
Examples
L’esempio seguente binarisce un’immagine GIF con soglia Otsu. immagini binarie contengono solo 2 colori - nero e bianco.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Binarize the image with Otsu thresholding.
gifImage.BinarizeOtsu();
gifImage.Save(dir + "sample.BinarizeOtsu.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
ClearBlocks()
Rimuovere tutti i blocchi GIF rimuove qualsiasi dati esistenti memorizzati all’interno dell’immagine.Questa operazione ripristina efficacemente l’immagine in uno stato vuoto, rimuovendo qualsiasiUtilizzare questo metodo quando è necessario iniziare fresco con un pulitoScorrere per creare o modificare un’immagine GIF.
public void ClearBlocks()
Examples
L’esempio seguente mostra come rimuovere tutti i blocchi da un’immagine GIF.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
using (Aspose.Imaging.FileFormats.Gif.GifImage gifImage = new Aspose.Imaging.FileFormats.Gif.GifImage(firstBlock))
{
if (gifImage.ActiveFrame != null)
{
System.Console.WriteLine("Active frame size: {0}", gifImage.ActiveFrame.Size);
}
else
{
System.Console.WriteLine("Active frame is not set");
}
System.Console.WriteLine("Clear all the blocks");
gifImage.ClearBlocks();
if (gifImage.ActiveFrame != null)
{
System.Console.WriteLine("Active frame size: {0}", gifImage.ActiveFrame.Size);
}
else
{
System.Console.WriteLine("Active frame is not set");
}
}
// The output looks like this:
// Active frame size: { Width = 100, Height = 100}
// Clear all the blocks
// Active frame is not set
Crop(Rectangle)
Piantare l’immagine utilizzando un’area rettangolare specificata.Questa operazione rimuove la parte esternaparte dell’immagine, lasciando solo la regione selezionata definita dal rectangolo.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
Il rectangolo .
Examples
Il seguente esempio raccoglie un’immagine GIF. L’area di raccolta viene specificata tramite Aspose.Imaging.Rectangle.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Crop the image. The cropping area is the rectangular central area of the image.
Aspose.Imaging.Rectangle area = new Aspose.Imaging.Rectangle(gifImage.Width / 4, gifImage.Height / 4, gifImage.Width / 2, gifImage.Height / 2);
gifImage.Crop(area);
// Save the cropped image to PNG
gifImage.Save(dir + "sample.Crop.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Dither(DitheringMethod, int, IColorPalette)
Applicare il dithering all’immagine corrente. Questo processo migliora la qualità della immagine conriduce il legame del colore e migliora le transizioni di colore, con conseguente flessibilitàdi apparenza.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Il metodo di diffusione.
bitsCount
int
I bit finali contano per il dithering.
customPalette
IColorPalette
La paletta personalizzata per il dithering.
Examples
L’esempio seguente carica un’immagine GIF e esegue la soglia e il flusso di dithering utilizzando diverse profondità di palette.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Perform threshold dithering using 4-bit color palette which contains 16 colors.
// The more bits specified the higher quality and the bigger size of the output image.
// Note that only 1-bit, 4-bit and 8-bit palettes are supported at the moment.
gifImage.Dither(Aspose.Imaging.DitheringMethod.ThresholdDithering, 4, null);
gifImage.Save(dir + "sample.ThresholdDithering4.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Perform floyd dithering using 1-bit color palette which contains only 2 colors - black and white.
// The more bits specified the higher quality and the bigger size of the output image.
// Note that only 1-bit, 4-bit and 8-bit palettes are supported at the moment.
gifImage.Dither(Aspose.Imaging.DitheringMethod.FloydSteinbergDithering, 1, null);
gifImage.Save(dir + "sample.FloydSteinbergDithering1.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Filter(Rettangolo, FilterOptionsBase)
Applicare un filtro specifico alla zona designata dell’immagine, migliorando la sua visionequalità o modificare l’aspetto come desiderato.Questo metodo selettivamente processipixel all’interno del rectangolo definito, consentendo di effettuare adeguamenti miratitutelare l’integrità dei dati di immagine circostanti.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
Il rectangolo .
options
FilterOptionsBase
Le opzioni .
Examples
Il seguente esempio si applica a diversi tipi di filtri per un’immagine GIF.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Apply a median filter with a rectangle size of 5 to the entire image.
gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.MedianFilterOptions(5));
gifImage.Save(dir + "sample.MedianFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Apply a bilateral smoothing filter with a kernel size of 5 to the entire image.
gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.BilateralSmoothingFilterOptions(5));
gifImage.Save(dir + "sample.BilateralSmoothingFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Apply a Gaussian blur filter with a radius of 5 and a sigma value of 4.0 to the entire image.
gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.GaussianBlurFilterOptions(5, 4.0));
gifImage.Save(dir + "sample.GaussianBlurFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Apply a Gauss-Wiener filter with a radius of 5 and a smooth value of 4.0 to the entire image.
gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.GaussWienerFilterOptions(5, 4.0));
gifImage.Save(dir + "sample.GaussWienerFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Apply a motion wiener filter with a length of 5, a smooth value of 4.0 and an angle of 90.0 degrees to the entire image.
gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.MotionWienerFilterOptions(10, 1.0, 90.0));
gifImage.Save(dir + "sample.MotionWienerFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Apply a sharpen filter with a kernel size of 5 and a sigma value of 4.0 to the entire image.
gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.SharpenFilterOptions(5, 4.0));
gifImage.Save(dir + "sample.SharpenFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
GetOriginalOptions()
Ripristinare le opzioni basate sulle impostazioni di file originali, fondamentali per mantenere la fedeltàe coerenza nel trattamento dell’immagine e nella manipolazione.Questo metodo consente senza segniintegrare i parametri specifici di file nelle operazioni successive, assicurandorendimento accurato e aderenza alle caratteristiche inerenti dell’immagine.Questo può essere utile per mantenere la profondità del bit e altri parametri dell’immagine originale invariati.Ad esempio, se caricamo un’immagine PNG in bianco e nero con 1 bit per pixel e lo salviamo utilizzando ilAspose.Imaging.DataStreamSupporter.Save(System.String) metodo, l’immagine PNG di uscita con 8 bit per pixel sarà prodotto.Per evitare e salvare l’immagine PNG con 1 bit per pixel, utilizzare questo metodo per ottenere le opzioni di risparmio corrispondenti e passare loroper il metodo Aspose.Imaging.Image.Save(System.String,_W L17.ImagineOptionsBase) come secondo parametro.
public override ImageOptionsBase GetOriginalOptions()
Returns
Le opzioni basate sulle impostazioni del file originale.
Grayscale()
La trasformazione di un’immagine nella sua rappresentazione griglia converte il coloreimmagine in una versione griglia rimuovendo le informazioni di colore mentre conservandoQuesto processo semplifica l’immagine a nuvole di grigio, rendendola adattaper varie applicazioni come stampa, elaborazione dei documenti e grayscaledi analisi.
public override void Grayscale()
Examples
L’esempio seguente trasforma un’immagine GIF colorata nella sua rappresentazione in grayscale. le immagini in grafica sono composte esclusivamente di ombre di grigio e portano solo informazioni di intensità.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
gifImage.Grayscale();
gifImage.Save(dir + "sample.Grayscale.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
InsertBlock(di IGIFBlock)
L’inserimento di un nuovo blocco GIF consente di aggiungere dati personalizzati in una posizione specificaQuesto metodo consente di posizionare i blocchi personalizzati in un’immagine desideratalocalizzazione nell’immagine GIF, fornendo flessibilità nella organizzazione e nella strutturazione delladati di immagine.
public void InsertBlock(int index, IGifBlock block)
Parameters
index
int
L’elemento basato su zero, su quale blocco verrà inserito.
block
IGifBlock
Il blocco GIF da aggiungere.
OnPaletteChanged(Il colore, il colore)
Chiamato quando la paletta è cambiata.
protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
La vecchia paletta.
newPalette
IColorPalette
La nuova paletta.
OnPaletteChanging(Il colore, il colore)
Si chiama quando la paletta sta cambiando.
protected override void OnPaletteChanging(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
La vecchia paletta.
newPalette
IColorPalette
La nuova paletta.
OrderBlocks()
L’ordine dei blocchi GIF secondo le specifiche Gif assicura un Gifi adeguatola struttura e la conformità con lo standard.Questo processo implica l’organizzazione delblocchi nella sequenza corretta come definito dalla specifica.può includere la rimozione di determinati Aspose.Imaging.FileFormats.Gif.Blocks. GifGraphicsControlBlock istanze chenon sono necessarie per il layout finale. aderendo alla specifica GIF, ilL’immagine risultante sarà correttamente strutturata e compatibile con la visualizzazione GIFdelle applicazioni.
public void OrderBlocks()
RemoveBlock(Il blocco)
Rimuovere un blocco GIF rimuove dati specifici dall’immagine, offrendo la capacità dipulire o modificare la struttura dell’immagine.Questo metodo consente di rimuovere gli indesideratio blocchi inutili, ottimizzando l’immagine GIF per un archiviazione efficiente.funzionalità per rimuovere le informazioni in anticipo dall’immagine mentreLa sua integrità e qualità.
public void RemoveBlock(IGifBlock block)
Parameters
block
IGifBlock
Il blocco da rimuovere.
Remarks
Nota: non dimenticare di disporre il blocco se non lo aggiungete ad altri GifImage.
Resize(int, int, resizeType)
Ripristinare questo Aspose.Imaging.Immagine instanza.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
La nuova larghezza.
newHeight
int
La nuova altezza.
resizeType
ResizeType
Il tipo di ritorno.
Examples
Questo esempio carica un’immagine GIF e la risuona utilizzando vari metodi di rigenerazione.
string dir = "c:\\temp\\";
using (Aspose.Imaging.FileFormats.Gif.GifImage image = (Aspose.Imaging.FileFormats.Gif.GifImage)Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
// Scale up by 2 times using Nearest Neighbour resampling.
image.Resize(image.Width* 2, image.Height* 2, Aspose.Imaging.ResizeType.NearestNeighbourResample);
image.Save(dir + "upsample.nearestneighbour.gif");
}
using (Aspose.Imaging.FileFormats.Gif.GifImage image = (Aspose.Imaging.FileFormats.Gif.GifImage)Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
// Scale down by 2 times using Nearest Neighbour resampling.
image.Resize(image.Width / 2, image.Height / 2, Aspose.Imaging.ResizeType.NearestNeighbourResample);
image.Save(dir + "downsample.nearestneighbour.gif");
}
using (Aspose.Imaging.FileFormats.Gif.GifImage image = (Aspose.Imaging.FileFormats.Gif.GifImage)Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
// Scale up by 2 times using Bilinear resampling.
image.Resize(image.Width* 2, image.Height* 2, Aspose.Imaging.ResizeType.BilinearResample);
image.Save(dir + "upsample.bilinear.gif");
}
using (Aspose.Imaging.FileFormats.Gif.GifImage image = (Aspose.Imaging.FileFormats.Gif.GifImage)Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
// Scale down by 2 times using Bilinear resampling.
image.Resize(image.Width / 2, image.Height / 2, Aspose.Imaging.ResizeType.BilinearResample);
image.Save(dir + "downsample.bilinear.gif");
}
Resize(int, int, immagineResizeSettings)
Ripristinare questo Aspose.Imaging.Immagine instanza.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
La nuova larghezza.
newHeight
int
La nuova altezza.
settings
ImageResizeSettings
Le impostazioni .
Examples
Questo esempio carica un’immagine GIF e la risuona utilizzando varie impostazioni di rigenerazione.
string dir = "c:\\temp\\";
Aspose.Imaging.ImageResizeSettings resizeSettings = new Aspose.Imaging.ImageResizeSettings();
// The adaptive algorithm based on weighted and blended rational function and lanczos3 interpolation.
resizeSettings.Mode = Aspose.Imaging.ResizeType.AdaptiveResample;
// The small rectangular filter
resizeSettings.FilterType = Aspose.Imaging.ImageFilterType.SmallRectangular;
// The number of colors in the palette.
resizeSettings.EntriesCount = 256;
// The color quantization is not used
resizeSettings.ColorQuantizationMethod = ColorQuantizationMethod.None;
// The euclidian method
resizeSettings.ColorCompareMethod = ColorCompareMethod.Euclidian;
using (Aspose.Imaging.Image image = (Aspose.Imaging.Image)Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Scale down by 2 times using adaptive resampling.
gifImage.Resize(image.Width / 2, image.Height / 2, resizeSettings);
// Save to PNG
gifImage.Save(dir + "downsample.adaptive.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
ResizeFullFrame(int, int, resizeType)
Ristrutturare l’immagine tenendo conto dei quadri completi per ciascuna pagina in unGIF, quindi prevenire la comparsa di potenziali artefatti.Questo metodo è essenzialeper mantenere l’integrità e la qualità dell’immagine, specialmente quando si tratta diGIF animati o sequenze di frames.
public void ResizeFullFrame(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
La nuova larghezza.
newHeight
int
La nuova altezza.
resizeType
ResizeType
Il tipo di ritorno.
ResizeProportional(int, int, resizeType)
Il ripristino proporzionale mantiene il rapporto di aspetto dell’immagine mentre si adatta la dimensione, assicurando che l’ immagine non appare stretta o distorta.Questo metodo riduce proporzionalmente l’immaginazione, scalando sia la larghezza che la altezza per lo stesso fattore.La risuonazione proportionale risurrà ciascun quadro in base alla relazione di newWidth’/width e
public void ResizeProportional(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
La nuova larghezza.
newHeight
int
La nuova altezza.
resizeType
ResizeType
Il tipo di ritorno.
Rotate(Flotta, Bool, Colore)
Questo metodo rota l’immagine intorno al suo punto centrale. specificando la rotazioneangolo, è possibile girare l’immagine in modo orario o controrocchio per raggiungere ilQuesta rotazione aiuta a regolare la presentazione dell’immagine oAlineamento senza distorcere il suo contenuto.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
L’angolo di rotazione in gradi. valori positivi gireranno in orologio.
resizeProportionally
bool
se impostato a ’true’ avrai cambiato la dimensione dell’immagine in base alle proiezioni rettangoli rotate (punti corni) in altri casi che lasciano le dimensioni non toccate e solointerni i contenuti di immagine sono rotati.
backgroundColor
Color
Il colore del background.
RotateFlip(RotateFlipType)
Eseguire la rotazione, il flusso o entrambi sul quadro attivo esclusivamente.applicare le trasformazioni esclusivamente al quadro attualmente attivo dell’immagine,Conservare l’integrità degli altri quadri in sequenza.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Il tipo di flip rotato.
Examples
Questo esempio carica un’immagine GIF, la girerà a 90 gradi in orologio e opzionale flips l’imagine orizzontalmente e/o verticalmente.
string dir = "c:\\temp\\";
Aspose.Imaging.RotateFlipType[] rotateFlipTypes = new Aspose.Imaging.RotateFlipType[]
{
Aspose.Imaging.RotateFlipType.Rotate90FlipNone,
Aspose.Imaging.RotateFlipType.Rotate90FlipX,
Aspose.Imaging.RotateFlipType.Rotate90FlipXY,
Aspose.Imaging.RotateFlipType.Rotate90FlipY,
};
foreach (Aspose.Imaging.RotateFlipType rotateFlipType in rotateFlipTypes)
{
// Rotate, flip and save to the output file.
using (Aspose.Imaging.FileFormats.Gif.GifImage image = (Aspose.Imaging.FileFormats.Gif.GifImage)Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
image.RotateFlip(rotateFlipType);
image.Save(dir + "sample." + rotateFlipType + ".png", new Aspose.Imaging.ImageOptions.PngOptions());
}
}
SaveData(Stream)
Salva i dati.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Il flusso per salvare i dati.
SetFrameTime(di Ushort)
Adatta la durata di ciascun quadro in millisecondi, assicurando un timing coerenteper tutta la sequenza dell’immagine.Questo metodo stabilisce uniformemente il tempo di visualizzazione perogni frame, consentendo un controllo accurato della velocità di animazione.Il cambiamento di questo valore riprenderà il ritardo per tutti i quadri.
public void SetFrameTime(ushort time)
Parameters
time
ushort
Il tempo di durata del frame in millisecondi.
UpdateDimensions(di int, int)
Aggiornare le dimensioni dell’immagine.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
La nuova larghezza dell’immagine.
newHeight
int
L’altezza della nuova immagine.