GifImage
Contenuti
[
Nascondere
]GifImage class
Un’immagine gif.
public sealed class GifImage : RasterCachedMultipageImage, IMultipageImageExt
Costruttori
| Nome | Descrizione |
|---|---|
| GifImage(GifFrameBlock) | Inizializza una nuova istanza diGifImage classe. |
| GifImage(GifFrameBlock, IColorPalette) | Inizializza una nuova istanza diGifImage classe. |
| GifImage(GifFrameBlock, IColorPalette, bool, byte, byte, byte, bool) | Inizializza una nuova istanza diGifImage classe. |
Proprietà
| Nome | Descrizione |
|---|---|
| ActiveFrame { get; set; } | Ottiene o imposta il frame attivo. |
| AutoAdjustPalette { get; set; } | Ottiene o imposta un valore che indica se regolare automaticamente la tavolozza. |
| override BackgroundColor { get; set; } | Ottiene o imposta il colore di sfondo. |
| BackgroundColorIndex { get; set; } | Ottiene o imposta l’indice del colore di sfondo. |
| override BitsPerPixel { get; } | Ottiene il numero di bit dell’immagine per pixel. |
| Blocks { get; } | Ottiene i blocchi GIF. |
| Bounds { get; } | Ottiene i limiti dell’immagine. |
| BufferSizeHint { get; set; } | Ottiene o imposta l’hint per la dimensione del buffer che è la dimensione massima consentita per tutti i buffer interni. |
| Container { get; } | Ottiene ilImage contenitore. |
| DataStreamContainer { get; } | Ottiene il flusso di dati dell’oggetto. |
| Disposed { get; } | Ottiene un valore che indica se questa istanza è stata eliminata. |
| override FileFormat { get; } | Ottiene un valore di formato file |
| override HasAlpha { get; } | Ottiene un valore che indica se questa istanza ha alpha. |
| override HasBackgroundColor { get; } | Ottiene un valore che indica se l’immagine ha il colore di sfondo. |
| HasTrailer { get; set; } | Ottiene o imposta un valore che indica se GIF ha trailer. |
| override HasTransparentColor { get; set; } | Ottiene un valore che indica se la cornice attiva ha un colore trasparente. |
| override Height { get; } | Ottiene l’altezza dell’immagine. |
| virtual HorizontalResolution { get; set; } | Ottiene o imposta la risoluzione orizzontale, in pixel per pollice, di questoRasterImage . |
| override ImageOpacity { get; } | Ottiene l’opacità di questa immagine (frame attivo). |
| InterruptMonitor { get; set; } | Ottiene o imposta il monitor di interruzione. |
| IsCached { get; } | Ottiene un valore che indica se i dati dell’immagine sono attualmente memorizzati nella cache. |
| IsInterlaced { get; } | Ottiene un valore che indica se questa istanza dell’immagine è interlacciata. |
| IsPaletteSorted { get; set; } | Ottiene o imposta un valore che indica se la tavolozza è ordinata. |
| IsRawDataAvailable { get; } | Ottiene un valore che indica se è disponibile il caricamento dei dati grezzi. |
| LoopsCount { get; set; } | Ottiene il conteggio dei loop (se l’immagine gif contiene informazioni sui loop) |
| override PageCount { get; } | Ottiene il conteggio delle pagine. |
| override PageExportingAction { get; set; } | Ottiene o imposta l’azione di esportazione della pagina. Tieni presente che l’impostazione di questo metodo rilascerà automaticamente le risorse della pagina dopo l’esecuzione. Verrà eseguito appena prima del salvataggio di ogni pagina. |
| override Pages { get; } | Ottiene le pagine. |
| Palette { get; set; } | Ottiene o imposta la tavolozza dei colori. La tavolozza dei colori non viene utilizzata quando i pixel sono rappresentati direttamente. |
| PaletteColorResolutionBits { get; set; } | Ottiene o imposta i bit di risoluzione del colore della tavolozza. |
| PixelAspectRatio { get; set; } | Ottiene o imposta le proporzioni dei pixel. |
| virtual PremultiplyComponents { get; set; } | Ottiene o imposta un valore che indica se i componenti dell’immagine devono essere premoltiplicati. |
| RawCustomColorConverter { get; set; } | Ottiene o imposta il convertitore colore personalizzato |
| virtual RawDataFormat { get; } | Ottiene il formato dei dati grezzi. |
| RawDataSettings { get; } | Ottiene le impostazioni dei dati grezzi correnti. Nota quando si utilizzano queste impostazioni i dati vengono caricati senza conversione. |
| RawFallbackIndex { get; set; } | Ottiene o imposta l’indice di fallback da utilizzare quando l’indice della tavolozza è fuori dai limiti |
| RawIndexedColorConverter { get; set; } | Ottiene o imposta il convertitore colore indicizzato |
| virtual RawLineSize { get; } | Ottiene la dimensione della riga grezza in byte. |
| Size { get; } | Ottiene la dimensione dell’immagine. |
| override TransparentColor { get; } | Ottiene il colore trasparente della cornice attiva. |
| virtual UpdateXmpData { get; set; } | Ottiene o imposta un valore che indica se aggiornare i metadati XMP. |
| override UsePalette { get; } | Ottiene un valore che indica se viene utilizzata la tavolozza dell’immagine. |
| virtual UseRawData { get; set; } | Ottiene o imposta un valore che indica se utilizzare il caricamento dei dati grezzi quando è disponibile il caricamento dei dati grezzi. |
| virtual VerticalResolution { get; set; } | Ottiene o imposta la risoluzione verticale, in pixel per pollice, di questoRasterImage . |
| override Width { get; } | Ottiene la larghezza dell’immagine. |
| override XmpData { get; set; } | Ottiene o imposta i metadati XMP. |
Metodi
| Nome | Descrizione |
|---|---|
| AddBlock(IGifBlock) | Aggiunge un nuovo blocco GIF. |
| AddPage(RasterImage) | Aggiunge la pagina all’immagine. |
| override AdjustBrightness(int) | Regolazione di abrightness per immagine. |
| override AdjustContrast(float) | Regola il contrasto. |
| override AdjustGamma(float) | Correzione gamma di un’immagine. |
| override AdjustGamma(float, float, float) | Correzione gamma di un’immagine. |
| override BinarizeBradley(double) | Binarizzazione di un’immagine utilizzando l’algoritmo di soglia adattivo di Bradley utilizzando la soglia di immagine integrale |
| override BinarizeBradley(double, int) | Binarizzazione di un’immagine utilizzando l’algoritmo di soglia adattivo di Bradley utilizzando la soglia di immagine integrale |
| override BinarizeFixed(byte) | Binarizzazione di un’immagine con soglia predefinita |
| override BinarizeOtsu() | Binarizzazione di un’immagine con soglia Otsu |
| override CacheData() | Memorizza nella cache i dati privati. |
| CanSave(ImageOptionsBase) | Determina se l’immagine può essere salvata nel formato file specificato rappresentato dalle opzioni di salvataggio passate. |
| ClearBlocks() | Cancella tutti i blocchi GIF. |
| override Crop(Rectangle) | Ritaglio dell’immagine. |
| override Crop(int, int, int, int) | Ritaglia immagine con spostamenti. |
| Dispose() | Elimina l’istanza corrente. |
| Dither(DitheringMethod, int) | Esegue il dithering sull’immagine corrente. |
| override Dither(DitheringMethod, int, IColorPalette) | Esegue il dithering sull’immagine corrente. |
| override Filter(Rectangle, FilterOptionsBase) | Filtra il rettangolo specificato. |
| GetArgb32Pixel(int, int) | Ottiene un’immagine ARGB pixel a 32 bit. |
| GetDefaultArgb32Pixels(Rectangle) | Ottiene l’array di pixel ARGB a 32 bit predefinito. |
| virtual GetDefaultOptions(object[]) | Ottiene le opzioni predefinite. |
| GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) | Ottiene l’array di pixel predefinito utilizzando il caricatore di pixel parziale. |
| GetDefaultRawData(Rectangle, RawDataSettings) | Ottiene l’array di dati grezzi predefinito. |
| GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) | Ottiene l’array di dati grezzi predefinito utilizzando il caricatore di pixel parziale. |
| virtual GetModifyDate(bool) | Ottiene la data e l’ora dell’ultima modifica dell’immagine della risorsa. |
| override GetOriginalOptions() | Ottiene le opzioni in base alle impostazioni del file originale. Questo può essere utile per mantenere invariati la profondità di bit e altri parametri dell’immagine originale. Ad esempio, se carichiamo un’immagine PNG in bianco e nero con 1 bit per pixel e quindi salvalo usando il Save metodo, verrà prodotta l’immagine PNG di output con 8 bit per pixel. Per evitarlo e salvare l’immagine PNG con 1 bit per pixel, utilizzare questo metodo per ottenere le opzioni di salvataggio corrispondenti e passarle alSave metodo come secondo parametro. |
| GetPixel(int, int) | Ottiene un pixel dell’immagine. |
| GetSkewAngle() | Ottiene l’angolo di inclinazione. Questo metodo è applicabile ai documenti di testo scansionati, per determinare l’angolo di inclinazione durante la scansione. |
| override Grayscale() | Trasformazione di un’immagine nella sua rappresentazione in scala di grigi |
| InsertBlock(int, IGifBlock) | Aggiunge un nuovo blocco GIF. |
| LoadArgb32Pixels(Rectangle) | Carica pixel ARGB a 32 bit. |
| LoadArgb64Pixels(Rectangle) | Carica pixel ARGB a 64 bit. |
| LoadCmyk32Pixels(Rectangle) | Carica i pixel in formato CMYK. |
| LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) | Carica i pixel ARGB a 32 bit parzialmente per pacchetti. |
| LoadPartialPixels(Rectangle, IPartialPixelLoader) | Carica i pixel parzialmente per pacchetti. |
| LoadPixels(Rectangle) | Carica pixel. |
| LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) | Carica dati grezzi. |
| LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) | Carica dati grezzi. |
| NormalizeAngle() | Normalizza l’angolo. Questo metodo è applicabile ai documenti di testo scansionati per eliminare la scansione obliqua. Questo metodo utilizzaGetSkewAngle eRotate metodi. |
| override NormalizeAngle(bool, Color) | Normalizza l’angolo. Questo metodo è applicabile ai documenti di testo scansionati per eliminare la scansione obliqua. Questo metodo utilizza!:GetSkewAngle eRotate metodi. |
| OrderBlocks() | Ordina i blocchi GIF in base alla specifica GIF. AlcuniGifGraphicsControlBlock può essere rimosso per un layout GIF corretto. |
| ReadArgb32ScanLine(int) | Legge l’intera linea di scansione in base all’indice della linea di scansione specificato. |
| ReadScanLine(int) | Legge l’intera linea di scansione in base all’indice della linea di scansione specificato. |
| RemoveBlock(IGifBlock) | Rimuove il blocco GIF. |
| ReplaceColor(Color, byte, Color) | Sostituisce un colore con un altro con la differenza consentita e conserva il valore alfa originale per salvare i bordi smussati. |
| override ReplaceColor(int, byte, int) | Sostituisce un colore con un altro con la differenza consentita e conserva il valore alfa originale per salvare i bordi smussati. |
| ReplaceNonTransparentColors(Color) | Sostituisce tutti i colori non trasparenti con un nuovo colore e conserva il valore alfa originale per salvare i bordi smussati. Nota: se lo usi su immagini senza trasparenza, tutti i colori verranno sostituiti con uno solo. |
| override ReplaceNonTransparentColors(int) | Sostituisce tutti i colori non trasparenti con un nuovo colore e conserva il valore alfa originale per salvare i bordi smussati. Nota: se lo usi su immagini senza trasparenza, tutti i colori verranno sostituiti con uno solo. |
| Resize(int, int) | Ridimensiona l’immagine. Il predefinitoNearestNeighbourResample viene utilizzato. |
| override Resize(int, int, ImageResizeSettings) | Ridimensiona l’immagine. |
| override Resize(int, int, ResizeType) | Ridimensiona l’immagine. |
| ResizeFullFrame(int, int, ResizeType) | Ridimensiona l’immagine utilizzando fotogrammi interi per ogni pagina GIF. Necessario per evitare la comparsa di possibili artefatti. |
| ResizeHeightProportionally(int) | Ridimensiona proporzionalmente l’altezza. Il predefinitoNearestNeighbourResample viene utilizzato. |
| virtual ResizeHeightProportionally(int, ImageResizeSettings) | Ridimensiona proporzionalmente l’altezza. |
| override ResizeHeightProportionally(int, ResizeType) | Ridimensiona proporzionalmente la larghezza. |
| ResizeProportional(int, int, ResizeType) | Esegue il ridimensionamento proporzionale sull’immagine. Il ridimensionamento proporzionale ridimensionerà ogni fotogramma in base al rapporto dinewWidth/larghezza enewHeight /altezza. |
| ResizeWidthProportionally(int) | Ridimensiona proporzionalmente la larghezza. Il predefinitoNearestNeighbourResample viene utilizzato. |
| virtual ResizeWidthProportionally(int, ImageResizeSettings) | Ridimensiona proporzionalmente la larghezza. |
| override ResizeWidthProportionally(int, ResizeType) | Ridimensiona proporzionalmente la larghezza. |
| virtual Rotate(float) | Ruota l’immagine attorno al centro. |
| override Rotate(float, bool, Color) | !:RasterCahcedMultipageImage.Rotate immagine intorno al centro. |
| override RotateFlip(RotateFlipType) | Ruota, capovolge o ruota e capovolge solo il fotogramma attivo. |
| Save() | Salva i dati dell’immagine nel flusso sottostante. |
| Save(Stream) | Salva i dati dell’oggetto nel flusso specificato. |
| override Save(string) | Salva l’immagine nella posizione del file specificata. |
| Save(Stream, ImageOptionsBase) | Salva i dati dell’immagine nel flusso specificato nel formato file specificato in base alle opzioni di salvataggio. |
| virtual Save(string, bool) | Salva i dati dell’oggetto nella posizione del file specificata. |
| virtual Save(string, ImageOptionsBase) | Salva i dati dell’oggetto nel percorso file specificato nel formato file specificato in base alle opzioni di salvataggio. |
| override Save(Stream, ImageOptionsBase, Rectangle) | Salva i dati dell’immagine nel flusso specificato nel formato file specificato in base alle opzioni di salvataggio. |
| virtual Save(string, ImageOptionsBase, Rectangle) | Salva i dati dell’oggetto nel percorso file specificato nel formato file specificato in base alle opzioni di salvataggio. |
| SaveArgb32Pixels(Rectangle, int[]) | Salva i pixel ARGB a 32 bit. |
| SaveCmyk32Pixels(Rectangle, int[]) | Salva i pixel. |
| SavePixels(Rectangle, Color[]) | Salva i pixel. |
| SaveRawData(byte[], int, Rectangle, RawDataSettings) | Salva i dati grezzi. |
| SetArgb32Pixel(int, int, int) | Imposta un pixel ARGB a 32 bit dell’immagine per la posizione specificata. |
| SetFrameTime(ushort) | Imposta la durata di tutti i frame in millisecondi. La modifica di questo valore azzererà il ritardo per tutti i frame. |
| override SetPalette(IColorPalette, bool) | Imposta la tavolozza dell’immagine. |
| SetPixel(int, int, Color) | Imposta un pixel dell’immagine per la posizione specificata. |
| virtual SetResolution(double, double) | Imposta la risoluzione per questoRasterImage . |
| virtual ToBitmap() | Converte l’immagine raster in bitmap. |
| WriteArgb32ScanLine(int, int[]) | Scrive l’intera linea di scansione nell’indice della linea di scansione specificato. |
| WriteScanLine(int, Color[]) | Scrive l’intera linea di scansione nell’indice della linea di scansione specificato. |
Esempi
Esportazione di parte dell’animazione dall’immagine GIF in base all’intervallo di tempo.
[C#]
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.
[C#]
string dir = "c:\\temp\\";
// Crea un blocco GIF Frame di 100x100 px.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
{
// Riempi di rosso l'intero blocco.
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");
}
}
Crea immagini GIF multipagina utilizzando immagini raster a pagina singola.
[C#]
static void Main(string[] args)
{
// Carica fotogrammi
var frames = LoadFrames("Animation frames").ToArray();
// Crea un'immagine GIF usando il primo fotogramma
using (var image = new GifImage(new GifFrameBlock(frames[0])))
{
// Aggiungi cornici all'immagine GIF usando il metodo AddPage
for (var index = 1; index < frames.Length; index++)
{
image.AddPage(frames[index]);
}
// Salva l'immagine GIF
image.Save("Multipage.gif");
}
}
private static IEnumerable<RasterImage> LoadFrames(string directory)
{
foreach (var filePath in Directory.GetFiles(directory))
{
yield return (RasterImage)Image.Load(filePath);
}
}
Guarda anche
- class RasterCachedMultipageImage
- interface IMultipageImageExt
- spazio dei nomi Aspose.Imaging.FileFormats.Gif
- assemblea Aspose.Imaging