GifImage

GifImage(GifFrameBlock, IColorPalette)

Inicializa una nueva instancia delGifImage clase.

public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette)
ParámetroEscribeDescripción
firstFrameGifFrameBlockEl primer cuadro para inicializar la imagen gif.
globalPaletteIColorPaletteLa paleta global a utilizar. Tenga en cuenta si ambosfirstFrame yglobalPalette son nulos, entonces se usa la paleta global predeterminada.

Excepciones

excepcióncondición
ArgumentNullExceptionEl marco no puede ser nulo;firstFrame
ArgumentExceptionEl primer cuadro ya pertenece a alguna otra imagen. Compruebe la propiedad Container.;firstFrame
GifImageExceptionLa paleta especificada debe contener un número de entradas igual a la potencia de 2. El tamaño mínimo de la paleta es 2, el máximo es 256.

Ejemplos

Este ejemplo muestra cómo crear una imagen GIF con una paleta personalizada y guardarla en un archivo.

[C#]

string dir = "c:\\temp\\";

// Crea un bloque de marco GIF de 100x100 px.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
{
    // Rellena todo el bloque en rojo.
    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);

    // Usa la paleta de 4 bits para reducir el tamaño de la imagen. La calidad puede empeorar.
    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");
    }
}

Ver también


GifImage(GifFrameBlock)

Inicializa una nueva instancia delGifImage clase.

public GifImage(GifFrameBlock firstFrame)
ParámetroEscribeDescripción
firstFrameGifFrameBlockEl primer cuadro para inicializar la imagen gif.

Excepciones

excepcióncondición
ArgumentNullExceptionEl marco no puede ser nulo;firstFrame
ArgumentExceptionEl primer cuadro ya pertenece a alguna otra imagen. Compruebe la propiedad Container.;firstFrame
GifImageExceptionLa paleta especificada debe contener un número de entradas igual a la potencia de 2. El tamaño mínimo de la paleta es 2, el máximo es 256.

Ejemplos

Este ejemplo muestra cómo crear una imagen GIF y guardarla en un archivo.

[C#]

string dir = "c:\\temp\\";

// Crea un bloque de marco GIF de 100x100 px.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
{
    // Rellena todo el bloque en rojo.
    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");
    }
}

El siguiente ejemplo muestra cómo componer una imagen GIF animada a partir de bloques GIF individuales.

[C#]

string dir = "c:\\temp\\";

// Crea una imagen GIF de 100 x 100 px.
// El primer bloque es completamente negro por defecto.
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))
{
    // El primer circulo es rojo
    Aspose.Imaging.Brushes.SolidBrush brush1 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);

    // El segundo circulo es negro
    Aspose.Imaging.Brushes.SolidBrush brush2 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Black);

    // Aumenta gradualmente el ángulo de la forma del arco rojo.
    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);
    }

    // Aumenta gradualmente el ángulo del arco negro y borra el arco rojo.
    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");
}

Ver también


GifImage(GifFrameBlock, IColorPalette, bool, byte, byte, byte, bool)

Inicializa una nueva instancia delGifImage clase.

public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette, bool isPaletteSorted, 
    byte paletteColorResolution, byte paletteBackgroundColorIndex, byte aspectRatio, 
    bool hasTrailer)
ParámetroEscribeDescripción
firstFrameGifFrameBlockEl primer cuadro para inicializar la imagen gif.
globalPaletteIColorPaletteLa paleta global a utilizar. Tenga en cuenta si ambosfirstFrame yglobalPalette son nulos, entonces se usa la paleta global predeterminada.
isPaletteSortedBooleansi se establece enverdadero la paleta está ordenada. Tenga en cuenta que el parámetro se utiliza cuandoglobalPalette No es nulo.
paletteColorResolutionByteLa resolución de color de la paleta. Tenga en cuenta que el parámetro se utiliza cuandoglobalPalette No es nulo.
paletteBackgroundColorIndexByteEl índice de color de fondo de la paleta.
aspectRatioByteLa relación de aspecto.
hasTrailerBooleansi se establece enverdadero la imagen gif tiene un tráiler; de lo contrario, no hay un tráiler escrito al final de la transmisión.

Excepciones

excepcióncondición
ArgumentNullExceptionEl marco no puede ser nulo;firstFrame
ArgumentExceptionEl primer cuadro ya pertenece a alguna otra imagen. Compruebe la propiedad Container.;firstFrame
GifImageExceptionLa paleta especificada debe contener un número de entradas igual a la potencia de 2. El tamaño mínimo de la paleta es 2, el máximo es 256.

Ver también