GifImage

GifImage(GifFrameBlock, IColorPalette)

Инициализирует новый экземплярGifImage класс.

public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette)
ПараметрТипОписание
firstFrameGifFrameBlockПервый кадр для инициализации gif-изображения.
globalPaletteIColorPaletteГлобальная палитра для использования. Обратите внимание, если обаfirstFrame а такжеglobalPalette являются нулевыми, то используется глобальная палитра по умолчанию.

Исключения

исключениеусловие
ArgumentNullExceptionФрейм не может быть пустым;firstFrame
ArgumentExceptionПервый кадр уже принадлежит какому-то другому изображению. Проверьте свойство Container.;firstFrame
GifImageExceptionУказанная палитра должна содержать число элементов, равное степени 2. Минимальный размер палитры — 2, максимальный — 256.

Примеры

В этом примере показано, как создать изображение GIF с пользовательской палитрой и сохранить его в файл.

[C#]

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

// Создаем блок GIF Frame размером 100x100 пикселей.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
{
    // Заливаем весь блок красным.
    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);

    // Используйте 4-битную палитру для уменьшения размера изображения. Качество может ухудшиться.
    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");
    }
}

Смотрите также


GifImage(GifFrameBlock)

Инициализирует новый экземплярGifImage класс.

public GifImage(GifFrameBlock firstFrame)
ПараметрТипОписание
firstFrameGifFrameBlockПервый кадр для инициализации gif-изображения.

Исключения

исключениеусловие
ArgumentNullExceptionФрейм не может быть пустым;firstFrame
ArgumentExceptionПервый кадр уже принадлежит какому-то другому изображению. Проверьте свойство Container.;firstFrame
GifImageExceptionУказанная палитра должна содержать число элементов, равное степени 2. Минимальный размер палитры — 2, максимальный — 256.

Примеры

В этом примере показано, как создать изображение в формате GIF и сохранить его в файл.

[C#]

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

// Создаем блок GIF Frame размером 100x100 пикселей.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
{
    // Заливаем весь блок красным.
    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");
    }
}

В следующем примере показано, как составить анимированное изображение GIF из отдельных блоков GIF.

[C#]

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

// Создаем GIF-изображение 100 x 100 пикселей.
// Первый блок по умолчанию полностью черный.
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))
{
    // Первый круг красный
    Aspose.Imaging.Brushes.SolidBrush brush1 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);

    // Второй круг черный
    Aspose.Imaging.Brushes.SolidBrush brush2 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Black);

    // Постепенно увеличивайте угол красной дуги.
    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);
    }

    // Постепенно увеличивайте угол черной дуги и стирайте красную дугу.
    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");
}

Смотрите также


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

Инициализирует новый экземплярGifImage класс.

public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette, bool isPaletteSorted, 
    byte paletteColorResolution, byte paletteBackgroundColorIndex, byte aspectRatio, 
    bool hasTrailer)
ПараметрТипОписание
firstFrameGifFrameBlockПервый кадр для инициализации gif-изображения.
globalPaletteIColorPaletteГлобальная палитра для использования. Обратите внимание, если обаfirstFrame а такжеglobalPalette являются нулевыми, то используется глобальная палитра по умолчанию.
isPaletteSortedBooleanесли установленоистинный палитра отсортирована. Обратите внимание, что параметр используется, когдаglobalPalette не является нулевым.
paletteColorResolutionByteЦветовое разрешение палитры. Обратите внимание, что параметр используется, когдаglobalPalette не является нулевым.
paletteBackgroundColorIndexByteИндекс цвета фона палитры.
aspectRatioByteСоотношение сторон.
hasTrailerBooleanесли установленоистинный GIF-изображение имеет трейлер, иначе в конце потока не будет записано трейлера.

Исключения

исключениеусловие
ArgumentNullExceptionФрейм не может быть пустым;firstFrame
ArgumentExceptionПервый кадр уже принадлежит какому-то другому изображению. Проверьте свойство Container.;firstFrame
GifImageExceptionУказанная палитра должна содержать число элементов, равное степени 2. Минимальный размер палитры — 2, максимальный — 256.

Смотрите также