GifImage

GifImage class

En gif-bild.

public sealed class GifImage : RasterCachedMultipageImage, IMultipageImageExt

Konstruktörer

namnBeskrivning
GifImage(GifFrameBlock)Initierar en ny instans avGifImage class.
GifImage(GifFrameBlock, IColorPalette)Initierar en ny instans avGifImage class.
GifImage(GifFrameBlock, IColorPalette, bool, byte, byte, byte, bool)Initierar en ny instans avGifImage class.

Egenskaper

namnBeskrivning
ActiveFrame { get; set; }Hämtar eller ställer in den aktiva ramen.
AutoAdjustPalette { get; set; }Hämtar eller ställer in ett värde som anger om paletten för automatisk justering.
override BackgroundColor { get; set; }Hämtar eller ställer in bakgrundsfärgen.
BackgroundColorIndex { get; set; }Hämtar eller ställer in bakgrundsfärgindex.
override BitsPerPixel { get; }Hämtar bildbitar per pixelantal.
Blocks { get; }Hämtar GIF-blocken.
Bounds { get; }Får bildens gränser.
BufferSizeHint { get; set; }Hämtar eller ställer in buffertstorlekstipset som är definierat som högsta tillåtna storlek för alla interna buffertar.
Container { get; }FårImage container.
DataStreamContainer { get; }Hämtar objektets dataström.
Disposed { get; }Får ett värde som indikerar om denna instans är bortskaffad.
override FileFormat { get; }Får värdet filformat
override HasAlpha { get; }Får ett värde som indikerar om denna instans har alpha.
override HasBackgroundColor { get; }Får ett värde som indikerar om bilden har bakgrundsfärg.
HasTrailer { get; set; }Hämtar eller ställer in ett värde som anger om GIF har trailer.
override HasTransparentColor { get; set; }Får ett värde som indikerar om den aktiva ramen har transparent färg.
override Height { get; }Hämtar bildhöjden.
virtual HorizontalResolution { get; set; }Hämtar eller ställer in den horisontella upplösningen, i pixlar per tum, för dettaRasterImage .
override ImageOpacity { get; }Får opacitet för denna bild (aktiv ram).
InterruptMonitor { get; set; }Hämtar eller ställer in avbrottsmonitorn.
IsCached { get; }Får ett värde som indikerar om bilddata är cachad för närvarande.
IsInterlaced { get; }Får ett värde som indikerar om denna bildinstans är sammanflätad.
IsPaletteSorted { get; set; }Hämtar eller ställer in ett värde som anger om paletten är sorterad.
IsRawDataAvailable { get; }Får ett värde som anger om rådataladdning är tillgänglig.
LoopsCount { get; set; }Får antalet loopar (om gif-bilden innehåller information om loopar)
override PageCount { get; }Hämtar sidantal.
override PageExportingAction { get; set; }Hämtar eller ställer in sidexporteringsåtgärden. Observera att inställning av den här metoden automatiskt frigör sidresurser efter att den har körts. Den kommer att köras precis innan varje sida sparas.
override Pages { get; }Hämtar sidorna.
Palette { get; set; }Hämtar eller ställer in färgpaletten. Färgpaletten används inte när pixlar representeras direkt.
PaletteColorResolutionBits { get; set; }Hämtar eller ställer in palettens färgupplösningsbitar.
PixelAspectRatio { get; set; }Hämtar eller ställer in pixelns bildförhållande.
virtual PremultiplyComponents { get; set; }Hämtar eller ställer in ett värde som anger om bildkomponenterna måste förmultipliceras.
RawCustomColorConverter { get; set; }Hämtar eller ställer in den anpassade färgomvandlaren
virtual RawDataFormat { get; }Hämtar rådataformatet.
RawDataSettings { get; }Hämtar aktuella rådatainställningar. Observera att när du använder dessa inställningar laddas data utan konvertering.
RawFallbackIndex { get; set; }Hämtar eller ställer in reservindex som ska användas när palettindex är utanför gränserna
RawIndexedColorConverter { get; set; }Hämtar eller ställer in den indexerade färgomvandlaren
virtual RawLineSize { get; }Hämtar den rå radstorleken i byte.
Size { get; }Hämtar bildstorleken.
override TransparentColor { get; }Får aktiv ram transparent färg.
virtual UpdateXmpData { get; set; }Hämtar eller ställer in ett värde som anger om XMP-metadata ska uppdateras.
override UsePalette { get; }Får ett värde som indikerar om bildpaletten används.
virtual UseRawData { get; set; }Hämtar eller ställer in ett värde som anger om rådataladdning ska användas när rådataladdningen är tillgänglig.
virtual VerticalResolution { get; set; }Hämtar eller ställer in den vertikala upplösningen, i pixlar per tum, för dettaRasterImage .
override Width { get; }Hämtar bildens bredd.
override XmpData { get; set; }Hämtar eller ställer in XMP-metadata.

Metoder

namnBeskrivning
AddBlock(IGifBlock)Lägger till ett nytt GIF-block.
AddPage(RasterImage)Lägger till sida i bilden.
override AdjustBrightness(int)Justering av enbrightness för bild.
override AdjustContrast(float)Justerar kontrasten.
override AdjustGamma(float)Gamma-korrigering av en bild.
override AdjustGamma(float, float, float)Gamma-korrigering av en bild.
override BinarizeBradley(double)Binarisering av en bild med Bradleys adaptiva tröskelalgoritm med hjälp av integralbildströskelvärdet
override BinarizeBradley(double, int)Binarisering av en bild med Bradleys adaptiva tröskelalgoritm med integralbildströskelvärde
override BinarizeFixed(byte)Binarisering av en bild med fördefinierad tröskel
override BinarizeOtsu()Binarisering av en bild med Otsu thresholding
override CacheData()Cachelagrar data privat.
CanSave(ImageOptionsBase)Bestämmer om bilden kan sparas i det angivna filformatet som representeras av de godkända sparalternativen.
ClearBlocks()Rensar alla GIF-block.
override Crop(Rectangle)Beskär bilden.
override Crop(int, int, int, int)Beskär bilden med skiftningar.
Dispose()Tar bort den aktuella instansen.
Dither(DitheringMethod, int)Utför dithering på den aktuella bilden.
override Dither(DitheringMethod, int, IColorPalette)Utför dithering på den aktuella bilden.
override Filter(Rectangle, FilterOptionsBase)Filtrerar den angivna rektangeln.
GetArgb32Pixel(int, int)Får en bild 32-bitars ARGB-pixel.
GetDefaultArgb32Pixels(Rectangle)Hämtar standard 32-bitars ARGB-pixelmatrisen.
virtual GetDefaultOptions(object[])Hämtar standardalternativen.
GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader)Hämtar standardpixelmatrisen med partial pixel loader.
GetDefaultRawData(Rectangle, RawDataSettings)Hämtar standardinställningen för rådata.
GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings)Hämtar den förinställda rådatamatrisen med hjälp av partial pixel loader.
virtual GetModifyDate(bool)Hämtar datum och tid då resursbilden senast ändrades.
override GetOriginalOptions()Hämtar alternativen baserat på de ursprungliga filinställningarna. Detta kan vara till hjälp för att behålla bitdjupet och andra parametrar i originalbilden oförändrade. Om vi till exempel laddar en svartvit PNG-bild med 1 bit per pixel och sedan spara den med hjälp av Save metod, kommer den utgående PNG-bilden med 8-bitar per pixel att produceras. För att undvika det och spara PNG-bild med 1-bit per pixel, använd den här metoden för att få motsvarande sparalternativ och skicka dem tillSave metod som den andra parametern.
GetPixel(int, int)Får en bildpixel.
GetSkewAngle()Hämtar skevningsvinkeln. Denna metod är tillämplig på skannade textdokument, för att bestämma snedställningsvinkeln vid skanning.
override Grayscale()Transformation av en bild till dess gråskalerepresentation
InsertBlock(int, IGifBlock)Lägger till ett nytt GIF-block.
LoadArgb32Pixels(Rectangle)Laddar 32-bitars ARGB-pixlar.
LoadArgb64Pixels(Rectangle)Laddar 64-bitars ARGB-pixlar.
LoadCmyk32Pixels(Rectangle)Laddar pixlar i CMYK-format.
LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader)Laddar 32-bitars ARGB-pixlar delvis i paket.
LoadPartialPixels(Rectangle, IPartialPixelLoader)Laddar pixlar delvis i paket.
LoadPixels(Rectangle)Laddar pixlar.
LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader)Laddar rådata.
LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader)Laddar rådata.
NormalizeAngle()Normaliserar vinkeln. Denna metod är tillämplig på skannade textdokument för att bli av med den skeva skanningen. Denna metod använderGetSkewAngle ochRotate metoder.
override NormalizeAngle(bool, Color)Normaliserar vinkeln. Denna metod är tillämplig på skannade textdokument för att bli av med den skeva skanningen. Denna metod använder!:GetSkewAngle ochRotate metoder.
OrderBlocks()Beställer GIF-blocken enligt GIF-specifikationen. NågraGifGraphicsControlBlock kan tas bort för korrekt GIF-layout.
ReadArgb32ScanLine(int)Läser hela skanningslinjen med det angivna skanningslinjeindexet.
ReadScanLine(int)Läser hela skanningslinjen med det angivna skanningslinjeindexet.
RemoveBlock(IGifBlock)Tar bort GIF-blocket.
ReplaceColor(Color, byte, Color)Ersätter en färg mot en annan med tillåten skillnad och bevarar det ursprungliga alfavärdet för att spara jämna kanter.
override ReplaceColor(int, byte, int)Ersätter en färg mot en annan med tillåten skillnad och bevarar det ursprungliga alfavärdet för att spara jämna kanter.
ReplaceNonTransparentColors(Color)Ersätter alla icke-transparenta färger med ny färg och bevarar det ursprungliga alfavärdet för att spara jämna kanter. Obs: om du använder det på bilder utan genomskinlighet kommer alla färger att ersättas med en enda.
override ReplaceNonTransparentColors(int)Ersätter alla icke-transparenta färger med ny färg och bevarar det ursprungliga alfavärdet för att spara jämna kanter. Obs: om du använder det på bilder utan genomskinlighet kommer alla färger att ersättas med en enda.
Resize(int, int)Ändrar storleken på bilden. StandardenNearestNeighbourResample används.
override Resize(int, int, ImageResizeSettings)Ändrar storlek på bilden.
override Resize(int, int, ResizeType)Ändrar storlek på bilden.
ResizeFullFrame(int, int, ResizeType)Ändrar storleken på bilden med hjälp av helbild för varje GIF-sida. Krävs för att undvika eventuella artefakter.
ResizeHeightProportionally(int)Ändrar storleken på höjden proportionellt. StandardenNearestNeighbourResample används.
virtual ResizeHeightProportionally(int, ImageResizeSettings)Ändrar storleken på höjden proportionellt.
override ResizeHeightProportionally(int, ResizeType)Ändrar storleken på bredden proportionellt.
ResizeProportional(int, int, ResizeType)Utför proportionell storleksändring på bilden. Den proportionella storleksändringen kommer att ändra storlek på varje bildruta enligt förhållandet mellannewWidth/bredd ochnewHeight /höjd.
ResizeWidthProportionally(int)Ändrar storleken på bredden proportionellt. StandardenNearestNeighbourResample används.
virtual ResizeWidthProportionally(int, ImageResizeSettings)Ändrar storleken på bredden proportionellt.
override ResizeWidthProportionally(int, ResizeType)Ändrar storleken på bredden proportionellt.
virtual Rotate(float)Rotera bilden runt mitten.
override Rotate(float, bool, Color)!:RasterCahcedMultipageImage.Rotate bild runt mitten.
override RotateFlip(RotateFlipType)Roterar, vänder eller roterar och vänder endast den aktiva ramen.
Save()Sparar bilddata till den underliggande strömmen.
Save(Stream)Sparar objektets data till den angivna strömmen.
override Save(string)Sparar bilden till den angivna filplatsen.
Save(Stream, ImageOptionsBase)Sparar bildens data till den angivna strömmen i det angivna filformatet enligt sparalternativ.
virtual Save(string, bool)Sparar objektets data till den angivna filplatsen.
virtual Save(string, ImageOptionsBase)Sparar objektets data till den angivna filplatsen i det angivna filformatet enligt sparalternativ.
override Save(Stream, ImageOptionsBase, Rectangle)Sparar bildens data till den angivna strömmen i det angivna filformatet enligt sparalternativ.
virtual Save(string, ImageOptionsBase, Rectangle)Sparar objektets data till den angivna filplatsen i det angivna filformatet enligt sparalternativ.
SaveArgb32Pixels(Rectangle, int[])Sparar 32-bitars ARGB-pixlar.
SaveCmyk32Pixels(Rectangle, int[])Sparar pixlarna.
SavePixels(Rectangle, Color[])Sparar pixlarna.
SaveRawData(byte[], int, Rectangle, RawDataSettings)Sparar rådata.
SetArgb32Pixel(int, int, int)Ställer in en 32-bitars ARGB-pixel för den angivna positionen.
SetFrameTime(ushort)Ställer in alla bildrutors varaktighet i millisekunder. Ändring av detta värde återställer fördröjningen för alla bildrutor.
override SetPalette(IColorPalette, bool)Ställer in bildpaletten.
SetPixel(int, int, Color)Ställer in en bildpixel för den angivna positionen.
virtual SetResolution(double, double)Ställer in upplösningen för dettaRasterImage .
virtual ToBitmap()Konverterar rasterbilden till bitmappen.
WriteArgb32ScanLine(int, int[])Skriver hela skanningslinjen till det angivna skanningslinjeindexet.
WriteScanLine(int, Color[])Skriver hela skanningslinjen till det angivna skanningslinjeindexet.

Exempel

Export av en del av animationen från GIF-bild baserat på tidsintervall.

[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);
}

Det här exemplet visar hur man skapar en GIF-bild och sparar den i en fil.

[C#]

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

// Skapa ett GIF-ramblock på 100x100 px.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
{
    // Fyll hela blocket med rött.
    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");
    }
}

Skapa flersidig GIF-bild med ensidiga rasterbilder.

[C#]

static void Main(string[] args)
{
    // Ladda ramar
    var frames = LoadFrames("Animation frames").ToArray();

    // Skapa GIF-bild med den första bildrutan
    using (var image = new GifImage(new GifFrameBlock(frames[0])))
    {
        // Lägg till ramar till GIF-bilden med AddPage-metoden
        for (var index = 1; index < frames.Length; index++)
        {
            image.AddPage(frames[index]);
        }

        // Spara GIF-bild
        image.Save("Multipage.gif");
    }
}

private static IEnumerable<RasterImage> LoadFrames(string directory)
{
    foreach (var filePath in Directory.GetFiles(directory))
    {
        yield return (RasterImage)Image.Load(filePath);
    }
}

Se även