GifImage

GifImage(GifFrameBlock, IColorPalette)

Initialisiert eine neue Instanz vonGifImage Klasse.

public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette)
ParameterTypBeschreibung
firstFrameGifFrameBlockDer erste Frame, mit dem das GIF-Bild initialisiert wird.
globalPaletteIColorPaletteDie zu verwendende globale Palette. Beachten Sie, ob beidesfirstFrame undglobalPalette Null sind, wird die globale Standardpalette verwendet.

Ausnahmen

AusnahmeBedingung
ArgumentNullExceptionDer Frame darf nicht null;firstFrame sein
ArgumentExceptionDas erste Bild gehört bereits zu einem anderen Bild. Überprüfen Sie die Container-Eigenschaft.;firstFrame
GifImageExceptionDie angegebene Palette sollte Einträge enthalten, die der Potenz von 2 entsprechen. Die minimale Palettengröße beträgt 2, die maximale 256.

Beispiele

Dieses Beispiel zeigt, wie Sie ein GIF-Bild mit einer benutzerdefinierten Palette erstellen und in einer Datei speichern.

[C#]

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

// Erstellen Sie einen GIF-Frame-Block von 100 x 100 Pixel.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
{
    // Den gesamten Block rot füllen.
    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);

    // Verwenden Sie die 4-Bit-Palette, um die Bildgröße zu reduzieren. Die Qualität kann schlechter werden.
    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");
    }
}

Siehe auch


GifImage(GifFrameBlock)

Initialisiert eine neue Instanz vonGifImage Klasse.

public GifImage(GifFrameBlock firstFrame)
ParameterTypBeschreibung
firstFrameGifFrameBlockDer erste Frame, mit dem das GIF-Bild initialisiert wird.

Ausnahmen

AusnahmeBedingung
ArgumentNullExceptionDer Frame darf nicht null;firstFrame sein
ArgumentExceptionDas erste Bild gehört bereits zu einem anderen Bild. Überprüfen Sie die Container-Eigenschaft.;firstFrame
GifImageExceptionDie angegebene Palette sollte Einträge enthalten, die der Potenz von 2 entsprechen. Die minimale Palettengröße beträgt 2, die maximale 256.

Beispiele

Dieses Beispiel zeigt, wie ein GIF-Bild erstellt und in einer Datei gespeichert wird.

[C#]

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

// Erstellen Sie einen GIF-Frame-Block von 100 x 100 Pixel.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
{
    // Den gesamten Block rot füllen.
    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");
    }
}

Das folgende Beispiel zeigt, wie Sie aus einzelnen GIF-Blöcken ein animiertes GIF-Bild zusammenstellen.

[C#]

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

// Erstellen Sie ein GIF-Bild 100 x 100 px.
// Der erste Block ist standardmäßig komplett schwarz.
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))
{
    // Der erste Kreis ist rot
    Aspose.Imaging.Brushes.SolidBrush brush1 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);

    // Der zweite Kreis ist schwarz
    Aspose.Imaging.Brushes.SolidBrush brush2 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Black);

    // Erhöhen Sie allmählich den Winkel der roten Bogenform.
    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);
    }

    // Erhöhen Sie allmählich den Winkel des schwarzen Bogens und löschen Sie den roten Bogen.
    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");
}

Siehe auch


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

Initialisiert eine neue Instanz vonGifImage Klasse.

public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette, bool isPaletteSorted, 
    byte paletteColorResolution, byte paletteBackgroundColorIndex, byte aspectRatio, 
    bool hasTrailer)
ParameterTypBeschreibung
firstFrameGifFrameBlockDer erste Frame, mit dem das GIF-Bild initialisiert wird.
globalPaletteIColorPaletteDie zu verwendende globale Palette. Beachten Sie, ob beidesfirstFrame undglobalPalette Null sind, wird die globale Standardpalette verwendet.
isPaletteSortedBooleanwenn eingestelltStimmt Die Palette ist sortiert. Beachten Sie, dass der Parameter wann verwendet wirdglobalPalette ist nicht null.
paletteColorResolutionByteDie Farbauflösung der Palette. Beachten Sie, dass der Parameter wann verwendet wirdglobalPalette ist nicht null.
paletteBackgroundColorIndexByteDer Index der Hintergrundfarbe der Palette.
aspectRatioByteDas Seitenverhältnis.
hasTrailerBooleanwenn eingestelltStimmt Das GIF-Bild hat einen Trailer, ansonsten wird kein Trailer am Ende des Streams geschrieben.

Ausnahmen

AusnahmeBedingung
ArgumentNullExceptionDer Frame darf nicht null;firstFrame sein
ArgumentExceptionDas erste Bild gehört bereits zu einem anderen Bild. Überprüfen Sie die Container-Eigenschaft.;firstFrame
GifImageExceptionDie angegebene Palette sollte Einträge enthalten, die der Potenz von 2 entsprechen. Die minimale Palettengröße beträgt 2, die maximale 256.

Siehe auch