Class GifImage
Namn på plats: Aspose.Imaging.FileFormats.Gif Församling: Aspose.Imaging.dll (25.4.0)
API för Graphical Interchange Format (GIF) bildfil gerutvecklare med mångsidiga verktyg för bearbetning av komprimerade rasterbilder ochanimerade GIF. erbjuder funktioner som XMP metadata hantering, färgpalettinställningar, bakgrund och transparent färgkontroll, opacity inställningar, resize,grödor, filteransökan, gamma korrigeringar, kontrastjustering, grayscaleomvandling och omvandling till andra format. Denna API möjliggör trådlösmanipulation och förbättring av GIF-bilder för ett brett utbud av applikationer.
[JsonObject(MemberSerialization.OptIn)]
public sealed class GifImage : RasterCachedMultipageImage, IDisposable, IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IHasXmpData, IHasMetadata, IMultipageImageExt, IMultipageImage
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← RasterImage ← RasterCachedImage ← RasterCachedMultipageImage ← GifImage
Implements
IDisposable , IObjectWithBounds , IRasterImageArgb32PixelLoader , IRasterImageRawDataLoader , IHasXmpData , IHasMetadata , IMultipageImageExt , IMultipageImage
Arvsmedlemmar
RasterCachedMultipageImage.AdjustBrightness(int) , RasterCachedMultipageImage.AdjustContrast(float) , RasterCachedMultipageImage.AdjustGamma(float, float, float) , RasterCachedMultipageImage.AdjustGamma(float) , RasterCachedMultipageImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedMultipageImage.BinarizeFixed(byte) , RasterCachedMultipageImage.BinarizeBradley(double, int) , RasterCachedMultipageImage.BinarizeBradley(double) , RasterCachedMultipageImage.BinarizeOtsu() , RasterCachedMultipageImage.Crop(Rectangle) , RasterCachedMultipageImage.Crop(int, int, int, int) , RasterCachedMultipageImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedMultipageImage.Grayscale() , RasterCachedMultipageImage.NormalizeHistogram() , RasterCachedMultipageImage.Rotate(float, bool, Color) , RasterCachedMultipageImage.RotateFlip(RotateFlipType) , RasterCachedMultipageImage.RotateFlipAll(RotateFlipType) , RasterCachedMultipageImage.Resize(int, int, ResizeType) , RasterCachedMultipageImage.Resize(int, int, ImageResizeSettings) , RasterCachedMultipageImage.ResizeWidthProportionally(int, ResizeType) , RasterCachedMultipageImage.ResizeHeightProportionally(int, ResizeType) , RasterCachedMultipageImage.ReplaceColor(int, byte, int) , RasterCachedMultipageImage.ReplaceNonTransparentColors(int) , RasterCachedMultipageImage.Filter(Rectangle, FilterOptionsBase) , RasterCachedMultipageImage.NormalizeAngle(bool, Color) , RasterCachedMultipageImage.CacheData() , RasterCachedMultipageImage.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , RasterCachedMultipageImage.Height , RasterCachedMultipageImage.Width , RasterCachedMultipageImage.BitsPerPixel , RasterCachedMultipageImage.IsCached , RasterCachedMultipageImage.PageCount , RasterCachedMultipageImage.Pages , RasterCachedMultipageImage.HasAlpha , RasterCachedMultipageImage.HasTransparentColor , RasterCachedMultipageImage.ImageOpacity , RasterCachedMultipageImage.BackgroundColor , RasterCachedMultipageImage.XmpData , RasterCachedMultipageImage.PageExportingAction , RasterCachedImage.CacheData() , RasterCachedImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedImage.Resize(int, int, ResizeType) , RasterCachedImage.Resize(int, int, ImageResizeSettings) , RasterCachedImage.RotateFlip(RotateFlipType) , RasterCachedImage.Rotate(float, bool, Color) , RasterCachedImage.Crop(Rectangle) , RasterCachedImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedImage.Grayscale() , RasterCachedImage.NormalizeHistogram() , RasterCachedImage.BinarizeFixed(byte) , RasterCachedImage.BinarizeOtsu() , RasterCachedImage.BinarizeBradley(double, int) , RasterCachedImage.BinarizeBradley(double) , RasterCachedImage.AdjustBrightness(int) , RasterCachedImage.AdjustContrast(float) , RasterCachedImage.AdjustGamma(float, float, float) , RasterCachedImage.AdjustGamma(float) , RasterCachedImage.IsCached , RasterImage.RemoveMetadata() , RasterImage.Save(Stream, ImageOptionsBase, Rectangle) , RasterImage.GetModifyDate(bool) , RasterImage.Dither(DitheringMethod, int) , RasterImage.Dither(DitheringMethod, int, IColorPalette) , RasterImage.GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) , RasterImage.GetDefaultArgb32Pixels(Rectangle) , RasterImage.GetDefaultRawData(Rectangle, RawDataSettings) , RasterImage.GetArgb32Pixel(int, int) , RasterImage.GetPixel(int, int) , RasterImage.SetArgb32Pixel(int, int, int) , RasterImage.SetPixel(int, int, Color) , RasterImage.ReadScanLine(int) , RasterImage.ReadArgb32ScanLine(int) , RasterImage.WriteScanLine(int, Color[]) , RasterImage.WriteArgb32ScanLine(int, int[]) , RasterImage.LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.LoadPartialPixels(Rectangle, IPartialPixelLoader) , RasterImage.LoadArgb32Pixels(Rectangle) , RasterImage.LoadArgb64Pixels(Rectangle) , RasterImage.LoadPartialArgb64Pixels(Rectangle, IPartialArgb64PixelLoader) , RasterImage.LoadPixels(Rectangle) , RasterImage.LoadCmykPixels(Rectangle) , RasterImage.LoadCmyk32Pixels(Rectangle) , RasterImage.LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.SaveRawData(byte[], int, Rectangle, RawDataSettings) , RasterImage.SaveArgb32Pixels(Rectangle, int[]) , RasterImage.SavePixels(Rectangle, Color[]) , RasterImage.SaveCmykPixels(Rectangle, CmykColor[]) , RasterImage.SaveCmyk32Pixels(Rectangle, int[]) , RasterImage.SetResolution(double, double) , RasterImage.SetPalette(IColorPalette, bool) , RasterImage.Resize(int, int, ImageResizeSettings) , RasterImage.Rotate(float, bool, Color) , RasterImage.Rotate(float) , RasterImage.BinarizeFixed(byte) , RasterImage.BinarizeOtsu() , RasterImage.BinarizeBradley(double) , RasterImage.BinarizeBradley(double, int) , RasterImage.Blend(Point, RasterImage, Rectangle, byte) , RasterImage.Blend(Point, RasterImage, byte) , RasterImage.Grayscale() , RasterImage.NormalizeHistogram() , RasterImage.AdjustBrightness(int) , RasterImage.AdjustContrast(float) , RasterImage.AdjustGamma(float, float, float) , RasterImage.AdjustGamma(float) , RasterImage.GetSkewAngle() , RasterImage.NormalizeAngle() , RasterImage.NormalizeAngle(bool, Color) , RasterImage.Filter(Rectangle, FilterOptionsBase) , RasterImage.ReplaceColor(Color, byte, Color) , RasterImage.ReplaceColor(int, byte, int) , RasterImage.ReplaceNonTransparentColors(Color) , RasterImage.ReplaceNonTransparentColors(int) , RasterImage.ToBitmap() , RasterImage.PremultiplyComponents , RasterImage.UseRawData , RasterImage.UpdateXmpData , RasterImage.XmpData , RasterImage.RawIndexedColorConverter , RasterImage.RawCustomColorConverter , RasterImage.RawFallbackIndex , RasterImage.RawDataSettings , RasterImage.UsePalette , RasterImage.RawDataFormat , RasterImage.RawLineSize , RasterImage.IsRawDataAvailable , RasterImage.HorizontalResolution , RasterImage.VerticalResolution , RasterImage.HasTransparentColor , RasterImage.HasAlpha , RasterImage.TransparentColor , RasterImage.ImageOpacity , Image.CanLoad(string) , Image.CanLoad(string, LoadOptions) , Image.CanLoad(Stream) , Image.CanLoad(Stream, LoadOptions) , Image.Create(ImageOptionsBase, int, int) , Image.Create(Image[]) , Image.Create(MultipageCreateOptions) , Image.Create(string[], bool) , Image.Create(string[]) , Image.Create(Image[], bool) , Image.GetFileFormat(string) , Image.GetFileFormat(Stream) , Image.GetFittingRectangle(Rectangle, int, int) , Image.GetFittingRectangle(Rectangle, int[], int, int) , Image.Load(string, LoadOptions) , Image.Load(string) , Image.Load(Stream, LoadOptions) , Image.Load(Stream) , Image.GetProportionalWidth(int, int, int) , Image.GetProportionalHeight(int, int, int) , Image.RemoveMetadata() , Image.CanSave(ImageOptionsBase) , Image.Resize(int, int) , Image.Resize(int, int, ResizeType) , Image.Resize(int, int, ImageResizeSettings) , Image.GetDefaultOptions(object[]) , Image.GetOriginalOptions() , Image.ResizeWidthProportionally(int) , Image.ResizeHeightProportionally(int) , Image.ResizeWidthProportionally(int, ResizeType) , Image.ResizeHeightProportionally(int, ResizeType) , Image.ResizeWidthProportionally(int, ImageResizeSettings) , Image.ResizeHeightProportionally(int, ImageResizeSettings) , Image.RotateFlip(RotateFlipType) , Image.Rotate(float) , Image.Crop(Rectangle) , Image.Crop(int, int, int, int) , Image.Save() , Image.Save(string) , Image.Save(string, ImageOptionsBase) , Image.Save(string, ImageOptionsBase, Rectangle) , Image.Save(Stream, ImageOptionsBase) , Image.Save(Stream, ImageOptionsBase, Rectangle) , Image.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , Image.SetPalette(IColorPalette, bool) , Image.BitsPerPixel , Image.Bounds , Image.Container , Image.Height , Image.Palette , Image.UsePalette , Image.Size , Image.Width , Image.InterruptMonitor , Image.BufferSizeHint , Image.AutoAdjustPalette , Image.HasBackgroundColor , Image.FileFormat , Image.BackgroundColor , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.Disposed , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
Exportera en del av animationen från GIF-bilden baserat på tidsintervall.
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);
}
Detta exempel visar hur man skapar en GIF-bild och sparar den i en fil.
string dir = "c:\\temp\\";
// Create a GIF Frame block of 100x100 px.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
{
// Fill the entire block in red.
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 flersidiga GIF-bilder med hjälp av en enda sida rasterbilder.
static void Main(string[] args)
{
// Load frames
var frames = LoadFrames("Animation frames").ToArray();
// Create GIF image using the first frame
using (var image = new GifImage(new GifFrameBlock(frames[0])))
{
// Add frames to the GIF image using the AddPage method
for (var index = 1; index < frames.Length; index++)
{
image.AddPage(frames[index]);
}
// Save GIF image
image.Save("Multipage.gif");
}
}
private static IEnumerable<rasterimage> LoadFrames(string directory)
{
foreach (var filePath in Directory.GetFiles(directory))
{
yield return (RasterImage)Image.Load(filePath);
}
}</rasterimage>
Constructors
GifImage(GifFrameBlock och IColorPalette)
Starta ett nytt Aspose.Imaging.FileFormats.Gif.GifImage objekt med angivna parametrar förförsta ram och global palett. Börja hantera GIF-bilder snabbt, säkerställaexakt representation med anpassningsbara inställningar för optimala resultat.
public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette)
Parameters
firstFrame
GifFrameBlock
Den första ramen för att initialisera gif-bilden med.
globalPalette
IColorPalette
Observera att om både firstFrame’ och
globalPalette’ är noll används standard globala paletten.
Examples
Detta exempel visar hur man skapar en GIF-bild med en anpassad palett och sparar den till en fil.
string dir = "c:\\temp\\";
// Create a GIF Frame block of 100x100 px.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
{
// Fill the entire block in red.
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);
// Use 4-bit palette to reduce the image size. The quality can get worse.
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");
}
}
Exceptions
firstFrame’ kan inte vara noll
firstFrame’ tillhör redan någon annan bild.
Den globalPalette’ angivna bör innehålla antalet entréer lika med effekt 2. Minimal palettstorlek är 2, maximal är 256.
GifImage(GifFrameBlock)
Att skapa GIF-bilder blir jobbigt med Aspose.Imaging.FileFormats.Gif.GifImagemed bara den första Frame-parametern går den in i en värld av dynamikvisuell kommunikation .
public GifImage(GifFrameBlock firstFrame)
Parameters
firstFrame
GifFrameBlock
Den första ramen för att initialisera gif-bilden med.
Examples
Detta exempel visar hur man skapar en GIF-bild och sparar den i en fil.
string dir = "c:\\temp\\";
// Create a GIF Frame block of 100x100 px.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
{
// Fill the entire block in red.
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");
}
}
Följande exempel visar hur man komponerar en animerad GIF-bild från enskilda GIF-block.
string dir = "c:\\temp\\";
// Create a GIF image 100 x 100 px.
// The first block is fully black by default.
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))
{
// The first circle is red
Aspose.Imaging.Brushes.SolidBrush brush1 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
// The second circle is black
Aspose.Imaging.Brushes.SolidBrush brush2 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Black);
// Gradually inscrease the angle of the red arc shape.
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);
}
// Gradually inscrease the angle of the black arc and wipe out the red arc.
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");
}
Exceptions
firstFrame’ kan inte vara noll
firstFrame’ tillhör redan någon annan bild.
Den angivna paletten måste innehålla antalet entréer som motsvarar kraften av 2. Minimal palettstorlek är 2, maximal är 256.
GifImage(GifFrameBlock, IColorPalette, bool, byte, byte, byte, bool)
Börja utan ansträngning med Aspose.Imaging.FileFormats.Gif.GifImage konstruktor.enkel metod, kan du dyka in i att skapa animerade GIF med lätthet.firstFrame, globalPalette, paletteColorResolution, aspectRatio, och andraparametrar, och du är redo att föra dina visualer till liv.
public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette, bool isPaletteSorted, byte paletteColorResolution, byte paletteBackgroundColorIndex, byte aspectRatio, bool hasTrailer)
Parameters
firstFrame
GifFrameBlock
Den första ramen för att initialisera gif-bilden med.
globalPalette
IColorPalette
Observera att om både firstFrame’ och
globalPalette’ är noll används standard globala paletten.
isPaletteSorted
bool
Observera att parametrarna används när globalPalette" inte är noll.
paletteColorResolution
byte
Notera att parametern används när globalPalette’ inte är noll.
paletteBackgroundColorIndex
byte
Palett bakgrundsfärgindex.
aspectRatio
byte
Aspekten av förhållandet.
hasTrailer
bool
om inställd till ’true’ gif-bilden har trailer annars ingen trailer skriven i slutet av strömmen.
Exceptions
firstFrame’ kan inte vara noll
firstFrame’ tillhör redan någon annan bild.
Den globalPalette’ angivna bör innehålla antalet entréer lika med effekt 2. Minimal palettstorlek är 2, maximal är 256.
Properties
ActiveFrame
Hantera och manipulera ramar med denna egenskap, vilket möjliggör smidig navigation ochändring av den aktiva ramen inom GIF-bilden.
public GifFrameBlock ActiveFrame { get; set; }
Fastighetsvärde
Examples
Följande exempel visar hur man tar bort alla block från en GIF-bild.
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))
{
if (gifImage.ActiveFrame != null)
{
System.Console.WriteLine("Active frame size: {0}", gifImage.ActiveFrame.Size);
}
else
{
System.Console.WriteLine("Active frame is not set");
}
System.Console.WriteLine("Clear all the blocks");
gifImage.ClearBlocks();
if (gifImage.ActiveFrame != null)
{
System.Console.WriteLine("Active frame size: {0}", gifImage.ActiveFrame.Size);
}
else
{
System.Console.WriteLine("Active frame is not set");
}
}
// The output looks like this:
// Active frame size: { Width = 100, Height = 100}
// Clear all the blocks
// Active frame is not set
BackgroundColor
Hantera bakgrundsfärgen på GIF-bilden med denna egenskap. du kan ställa in elleråterhämta bakgrundsfärgen för att säkerställa konsistens och förbättra visuell attraktion.
public override Color BackgroundColor { get; set; }
Fastighetsvärde
BackgroundColorIndex
Kontrollera bakgrundsfärgindexet för GIF-bilden med hjälp av denna egenskap.hämta indexet för att upprätthålla konsistens eller uppnå önskade visuella effekter.
public byte BackgroundColorIndex { get; set; }
Fastighetsvärde
Blocks
Få tillgång till GIF-blockorna smidigt med denna fastighet, vilket gör det enkeltåterhämtning och manipulering av bildens underliggande datastrukturer.
public IGifBlock[] Blocks { get; }
Fastighetsvärde
IGifBlock [ ]
FileFormat
Återställa filformat utan ansträngning med denna egenskap. det är din go-to källaför att identifiera formatet för dina filer. helt integrerad i din arbetsflöde,Det ger viktig information utan hassle.
public override FileFormat FileFormat { get; }
Fastighetsvärde
HasBackgroundColor
Denna egenskap bestämmer om GIF-bilden innehåller en bakgrundsfärg.Det visar att bilden innehåller en bakgrundsfärg.
public override bool HasBackgroundColor { get; }
Fastighetsvärde
HasTrailer
Hantera närvaron av en trailer i dina GIF-filer med denna egendom.måste kontrollera om en trailer existerar eller ställer in dess närvaro, denna egendom förenklarHåll dina GIF-filer strukturerade och i överensstämmelse med denna intuitiva funktion.
public bool HasTrailer { get; set; }
Fastighetsvärde
HasTransparentColor
Bestäm om den aktiva ramen för GIF-bilden innehåller en transparent färg.Denna fastighet ger ett bekvämt sätt att kontrollera transparens inom bilden.
public override bool HasTransparentColor { get; set; }
Fastighetsvärde
ImageOpacity
Återställa opaciteten i den aktiva ramen inom bilden, vilket ger insikt idess öppenhetsnivå. denna egendom är särskilt användbar för att förstågraden av öppenhet eller opakens av den aktiva ramen i bilden.
public override float ImageOpacity { get; }
Fastighetsvärde
IsInterlaced
Bestämmer om bilden är länkad, vilket påverkar dess display under laddning.egendom ger insikt i bildens renderande beteende, som är nödvändigt förOptimera laddningsstrategier och förbättra den övergripande tittarupplevelsen.
public bool IsInterlaced { get; }
Fastighetsvärde
IsPaletteSorted
Kontrollera sortering av paletten i dina GIF-bilder med hjälp av denna egenskap.du måste kontrollera om paletten är sorterad eller ställa in sortering beteende, dettafastighet ger ett enkelt sätt att hantera palettorganisationen i dinGif filer .
public bool IsPaletteSorted { get; set; }
Fastighetsvärde
LoopsCount
Återställa loop räkning utan ansträngning med denna egenskap. Om din GIF-bild innehållerloop information, denna fastighet ger dig snabb tillgång till loop räkning, möjliggörDu för att smidigt hantera loopning beteende i dina GIF-filer.
public int LoopsCount { get; set; }
Fastighetsvärde
PageCount
Återställ det totala antalet sidor som finns i bilden med dettaPerfekt för att snabbt bedöma omfattningen av bildinnehållet.
public override int PageCount { get; }
Fastighetsvärde
Pages
Få tillgång till sidorna inom bilden genom denna bekväma egendom,tillåta smidigt navigering och manipulering av enskilda sidor som behövs.
public override Image[] Pages { get; }
Fastighetsvärde
Image [ ]
PaletteColorResolutionBits
Hantera palettfärgupplösningen av dina GIF-bilder med denna egenskap.antalet bitar som används för att representera färger i paletten, vilket ger fin kontrollöver färgdjup och bildkvalitet.
public byte PaletteColorResolutionBits { get; set; }
Fastighetsvärde
PixelAspectRatio
Hantera pixelaspektsförhållandet av GIF-bilden med denna egenskap.Aspektförhållandet för att säkerställa korrekt rendering och upprätthålla visuell lojalitet.
public byte PixelAspectRatio { get; set; }
Fastighetsvärde
TransparentColor
Återställa den transparenta färgen på den aktiva ramen i GIF-bilden.tillåter dig att komma åt den specifika färgen som har identifierats som transparentinom den nuvarande aktiva ramen.
public override Color TransparentColor { get; }
Fastighetsvärde
XmpData
Hantera XMP metadata med denna egenskap. om du hämtar befintliga metadataeller uppdatera den med ny information, denna egendom förenklar processen.dina metadata organiserade och tillgängliga, för att säkerställa att dina filer innehållerrelevant information de behöver.
public override XmpPacketWrapper XmpData { get; set; }
Fastighetsvärde
Methods
AddBlock(IGIFBlock)
Genom att lägga till en ny GIF-block kan du inkludera ytterligare data i bilden.Denna metod gör att du kan lägga till anpassade block till GIF-bilden, vilket kaninnehåller olika typer av information.
public void AddBlock(IGifBlock block)
Parameters
block
IGifBlock
GIF block att lägga till.
Examples
Följande exempel visar hur man komponerar en animerad GIF-bild från enskilda GIF-block.
string dir = "c:\\temp\\";
// Create a GIF image 100 x 100 px.
// The first block is fully black by default.
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))
{
// The first circle is red
Aspose.Imaging.Brushes.SolidBrush brush1 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
// The second circle is black
Aspose.Imaging.Brushes.SolidBrush brush2 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Black);
// Gradually inscrease the angle of the red arc shape.
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);
}
// Gradually inscrease the angle of the black arc and wipe out the red arc.
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");
}
AddPage(RasterImage)
Inkludera en ny sida oavsiktligt i den befintliga bilden, förbättra dess innehålloch utöka dess omfattning. den här metoden ökar bildsamlingar med ytterligareinnehåll, främja kreativitet och flexibilitet i bildhantering och komposition.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
sidan att lägga till.
Examples
Skapa flersidiga GIF-bilder med hjälp av en enda sida rasterbilder.
static void Main(string[] args)
{
// Load frames
var frames = LoadFrames("Animation frames").ToArray();
// Create GIF image using the first frame
using (var image = new GifImage(new GifFrameBlock(frames[0])))
{
// Add frames to the GIF image using the AddPage method
for (var index = 1; index < frames.Length; index++)
{
image.AddPage(frames[index]);
}
// Save GIF image
image.Save("Multipage.gif");
}
}
private static IEnumerable<rasterimage> LoadFrames(string directory)
{
foreach (var filePath in Directory.GetFiles(directory))
{
yield return (RasterImage)Image.Load(filePath);
}
}</rasterimage>
Exceptions
page’ is null.
AdjustBrightness(int)
Anpassa bildens ljusstyrka enligt den angivnabriljans parameter. Denna metod ändrar hela bildens ljusstyrka jämnt, vilket förbättrar eller minskar den övergripande ljusstyrkan för att uppnå önskad effekt.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
ljusets värde.
Examples
Följande exempel utför briljant korrigering av en GIF-bild.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Set the brightness value. The accepted values of brightness are in the range [-255, 255].
gifImage.AdjustBrightness(50);
gifImage.Save(dir + "sample.AdjustBrightness.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
AdjustContrast(Flotta)
Anpassa kontrasten i bilden, förbättra eller minska skillnaden iljuset mellan pixlar. Denna metod ändrar bildens totala tonområde,göra mörkare områden mörkare och ljusare områden ljusare för att förbättra visuell klarhetoch detalj.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Kontrastvärde (i intervall [-100; 100])
Examples
Följande exempel gör kontrast korrigering av en GIF-bild.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Set the contrast value. The accepted values of contrast are in the range [-100f, 100f].
gifImage.AdjustContrast(50f);
gifImage.Save(dir + "sample.AdjustContrast.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Exceptions
Kan inte ändra kontrast. Frame index: " + frameIndex
AdjustGamma(Flotta)
Förbättra bildkvaliteten genom att tillämpa gamma korrigering. Denna metod justerar färgenGamma av bilden för att uppnå optimal visuell klarhet. Det ändrar gammavärdetav varje pixel, vilket resulterar i förbättrad färg rendering och den övergripande bilden utseende.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Gamma för röda, gröna och blå kanaler koefficient
Examples
Följande exempel utför gamma-korrigering av en GIF-bild.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Set gamma coefficient for red, green and blue channels.
gifImage.AdjustGamma(2.5f);
gifImage.Save(dir + "sample.AdjustGamma.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
AdjustGamma(flotta, flotta och flotta)
Gamma-korrigering av en bild tillämpar en icke-lineär justering av pixelvärdena,förbättra eller minska ljusstyrkan baserat på de angivna koefficienterna för rött,grön, och blå kanaler. denna metod hjälper till att finjustera färgbalansen ochbelysning av bilden, förbättra dess övergripande utseende och visuell kvalitet.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma för rödkanalkoefficient
gammaGreen
float
Gamma för grön kanalkoefficient
gammaBlue
float
Gamma för blåkanalkoefficient
Examples
Följande exempel utför gamma-korrigering av en GIF-bild som tillämpar olika koefficienter för färgkomponenter.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Set individual gamma coefficients for red, green and blue channels.
gifImage.AdjustGamma(1.5f, 2.5f, 3.5f);
gifImage.Save(dir + "sample.AdjustGamma.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
BinarizeBradley(dubbel)
Binarisering av en bild med hjälp av Bradleys adaptiva gränsvärdealgoritm medIntegral image thresholding är en metod för att konvertera en gråskalig bild till enDetta algoritm beräknar en lokal tröskel för varje pixel baserat påden genomsnittliga intensiteten av de omgivande pixlarna inom ett angivet fönster.adaptiv justering av tröskeln baserat på de lokala pixelintensiteterna, BradleyMetoden är effektiv vid hantering av variationer i belysning och kontrast över bilden.
public override void BinarizeBradley(double brightnessDifference)
Parameters
brightnessDifference
double
Skillnaden i ljusstyrka mellan pixel och genomsnittet av ett s x s fönster av pixlar som är inriktade runt denna pixel.
BinarizeFixed(byte)
Binarisering av en bild med en fördefinierad gräns omvandlar en gråskala eller färgbild i en binär bild, där varje pixel klassificeras som svart eller vittbaserat på om dess intensitetsvärde överstiger en angiven tröskel.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Om motsvarande gråvärde för en pixel är större än gränsen, tilldelas det ett värde av 255 eller 0 annars.
Examples
Följande exempel binariserar en GIF-bild med den fördefinierade gränsen. binära bilder innehåller endast 2 färger - svart och vitt.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage djvuImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Binarize the image with a threshold value of 127.
// If a corresponding gray value of a pixel is greater than 127, a value of 255 will be assigned to it, 0 otherwise.
djvuImage.BinarizeFixed(127);
djvuImage.Save(dir + "sample.BinarizeFixed.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
BinarizeOtsu()
Binarisering av en bild med Otsu-gränssnitt är en metod som används för att automatisktbestämma det optimala tröskelvärdet för att konvertera en gråskalig bild till enden binära bilden. Otsu tröskelvärdet algoritm beräknar den tröskelvärde somminimerar intraklassvariationen av pixelintensiteterna i de två resulterandeklasser (förgrunder och bakgrunder). denna teknik är särskilt användbar närDen optimala gränsvärdet är okänt och måste fastställas adaptivt.på bildens histogram.
public override void BinarizeOtsu()
Examples
Följande exempel binariserar en GIF-bild med Otsu-gränssnitt. binära bilder innehåller endast 2 färger - svart och vitt.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Binarize the image with Otsu thresholding.
gifImage.BinarizeOtsu();
gifImage.Save(dir + "sample.BinarizeOtsu.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
ClearBlocks()
Rengöring av alla GIF-block tar bort alla befintliga data som lagras inom bilden.Denna operation återställer effektivt bilden till ett tomt tillstånd, vilket tar bort allaAnvänd denna metod när du behöver börja färska med en renSlate för att skapa eller ändra en GIF-bild.
public void ClearBlocks()
Examples
Följande exempel visar hur man tar bort alla block från en GIF-bild.
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))
{
if (gifImage.ActiveFrame != null)
{
System.Console.WriteLine("Active frame size: {0}", gifImage.ActiveFrame.Size);
}
else
{
System.Console.WriteLine("Active frame is not set");
}
System.Console.WriteLine("Clear all the blocks");
gifImage.ClearBlocks();
if (gifImage.ActiveFrame != null)
{
System.Console.WriteLine("Active frame size: {0}", gifImage.ActiveFrame.Size);
}
else
{
System.Console.WriteLine("Active frame is not set");
}
}
// The output looks like this:
// Active frame size: { Width = 100, Height = 100}
// Clear all the blocks
// Active frame is not set
Crop(Rectangle)
Växla bilden med hjälp av ett angivet rektangulära område. Denna operation tar bort den yttredel av bilden, lämnar endast det valda området som definieras av rektangeln.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
och rektangeln.
Examples
Följande exempel odlar en GIF-bild. odlingsområdet anges via Aspose.Imaging.Rectangle.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Crop the image. The cropping area is the rectangular central area of the image.
Aspose.Imaging.Rectangle area = new Aspose.Imaging.Rectangle(gifImage.Width / 4, gifImage.Height / 4, gifImage.Width / 2, gifImage.Height / 2);
gifImage.Crop(area);
// Save the cropped image to PNG
gifImage.Save(dir + "sample.Crop.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Dither(DitheringMethod, int, IColorPalette)
Applicera dithering till den aktuella bilden. Denna process förbättrar bildkvaliteten genom attminska färgbanding och förbättra färgövergångar, vilket resulterar i en jämnareUtseendet .
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Metoden för att diktera.
bitsCount
int
De sista bitarna räknar för dithering.
customPalette
IColorPalette
Den vanliga paletten för dithering.
Examples
Följande exempel ladda en GIF-bild och utför gränsvärde och flytande dithering med olika palettdjup.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Perform threshold dithering using 4-bit color palette which contains 16 colors.
// The more bits specified the higher quality and the bigger size of the output image.
// Note that only 1-bit, 4-bit and 8-bit palettes are supported at the moment.
gifImage.Dither(Aspose.Imaging.DitheringMethod.ThresholdDithering, 4, null);
gifImage.Save(dir + "sample.ThresholdDithering4.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Perform floyd dithering using 1-bit color palette which contains only 2 colors - black and white.
// The more bits specified the higher quality and the bigger size of the output image.
// Note that only 1-bit, 4-bit and 8-bit palettes are supported at the moment.
gifImage.Dither(Aspose.Imaging.DitheringMethod.FloydSteinbergDithering, 1, null);
gifImage.Save(dir + "sample.FloydSteinbergDithering1.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Filter(Rectangle, FilterOptionsBase)
Applicera ett specifikt filter till det angivna området på bilden, vilket förbättrar dess visuellakvalitet eller ändra dess utseende som önskas. denna metod selektivtpixlar inom den definierade rektangeln, så att riktade justeringar kan görassamtidigt som integriteten av de omgivande bilddata bevaras.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
och rektangeln.
options
FilterOptionsBase
och alternativen .
Examples
Följande exempel tillämpar olika typer av filter på en GIF-bild.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Apply a median filter with a rectangle size of 5 to the entire image.
gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.MedianFilterOptions(5));
gifImage.Save(dir + "sample.MedianFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Apply a bilateral smoothing filter with a kernel size of 5 to the entire image.
gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.BilateralSmoothingFilterOptions(5));
gifImage.Save(dir + "sample.BilateralSmoothingFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Apply a Gaussian blur filter with a radius of 5 and a sigma value of 4.0 to the entire image.
gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.GaussianBlurFilterOptions(5, 4.0));
gifImage.Save(dir + "sample.GaussianBlurFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Apply a Gauss-Wiener filter with a radius of 5 and a smooth value of 4.0 to the entire image.
gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.GaussWienerFilterOptions(5, 4.0));
gifImage.Save(dir + "sample.GaussWienerFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Apply a motion wiener filter with a length of 5, a smooth value of 4.0 and an angle of 90.0 degrees to the entire image.
gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.MotionWienerFilterOptions(10, 1.0, 90.0));
gifImage.Save(dir + "sample.MotionWienerFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Apply a sharpen filter with a kernel size of 5 and a sigma value of 4.0 to the entire image.
gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.SharpenFilterOptions(5, 4.0));
gifImage.Save(dir + "sample.SharpenFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
GetOriginalOptions()
Återställa de ursprungliga filinställningarna baserade alternativ, avgörande för att upprätthålla lojalitetoch konsistens i bildbehandling och manipulation. Denna metod gör det möjligt attintegrering av filspecifika parametrar i efterföljande operationer, säkerställa attkorrekt rendering och efterlevnad av bildens inhemska egenskaper.Detta kan vara användbart för att hålla bitdjup och andra parametrar av den ursprungliga bilden oförändrad.Till exempel, om vi laddar en svartvitt PNG-bild med 1 bit per pixel och sedan sparar den med hjälp avAspose.Imaging.DataStreamSupporter.Save(System.String) metod, utgången PNG bild med 8-bitars per pixel kommer att produceras.För att undvika det och spara PNG-bild med 1-bit per pixel, använd denna metod för att få motsvarande spara alternativ och passera demtill Aspose.Imaging.Image.Save(System.String,Aspose.Imaging.ImageOptionsBase) metod som andra parametrar.
public override ImageOptionsBase GetOriginalOptions()
Returns
Alternativ baserade på de ursprungliga filinställningarna.
Grayscale()
Omvandlingen av en bild till sin gråskala representation omvandlar färgenbild i en gråskala version genom att ta bort färginformation samtidigt somDenna process förenklar bilden till skuggor av grå, vilket gör den lämpligför olika applikationer som utskrift, dokumentbehandling och grayscaleAnalys av .
public override void Grayscale()
Examples
Följande exempel omvandlar en färgad GIF-bild till sin grayscale-representation. Grayscale-bilder består uteslutande av skuggor av grå och bär endast intensitetsinformation.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
gifImage.Grayscale();
gifImage.Save(dir + "sample.Grayscale.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
InsertBlock(för IGIFBlock)
Genom att infoga en ny GIF-block kan du lägga till anpassade data i en viss position.Denna metod gör att du kan placera anpassade block på en önskadplats i GIF-bilden, vilket ger flexibilitet i organisering och strukturering avbild data .
public void InsertBlock(int index, IGifBlock block)
Parameters
index
int
Det nollbaserade elementet, på vilket block som kommer att läggas in.
block
IGifBlock
GIF block att lägga till.
OnPaletteChanged(Föregående inläggFöregående IColorPalette)
Kallas när paletten ändras.
protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
Den gamla paletten.
newPalette
IColorPalette
Den nya paletten.
OnPaletteChanging(Föregående inläggFöregående IColorPalette)
Det kallas när paletten förändras.
protected override void OnPaletteChanging(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
Den gamla paletten.
newPalette
IColorPalette
Den nya paletten.
OrderBlocks()
Att ordna GIF-blockorna enligt GIF-specifikationen säkerställer lämplig GIFlayout och överensstämmelse med standarden. denna process innebär att arrangerablock i rätt sekvens som definierats av specifikationen.kan innefatta avlägsnande av vissa Aspose.Imaging.FileFormats.Gif.Blocks.GifGraphicsControlBlock instanser somär inte nödvändiga för den slutliga layouten. genom att följa GIF-specifikationen,den resulterande bilden kommer att vara korrekt strukturerad och kompatibel med GIF-visningtillämpningar .
public void OrderBlocks()
RemoveBlock(IGIFBlock)
Att ta bort en GIF-block tar bort specifika data från bilden, vilket ger möjlighet attrengöra eller ändra bildstrukturen. Denna metod gör att du kan ta bort oönskadeeller onödiga block, optimerar GIF-bilden för effektiv lagring.funktionalitet för att ta bort föråldrad information från bilden samtidigt somdess integritet och kvalitet.
public void RemoveBlock(IGifBlock block)
Parameters
block
IGifBlock
Block för att ta bort.
Remarks
Observera: Glöm inte att lägga till blocket om du inte lägger till det till någon annan GifImage.
Resize(int, int, resizeType)
Återställ denna Aspose.Imaging.Image instans.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
Den nya bredden.
newHeight
int
Den nya höjden.
resizeType
ResizeType
Den återställande typen.
Examples
Detta exempel laddar upp en GIF-bild och resyser den med hjälp av olika resiseringsmetoder.
string dir = "c:\\temp\\";
using (Aspose.Imaging.FileFormats.Gif.GifImage image = (Aspose.Imaging.FileFormats.Gif.GifImage)Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
// Scale up by 2 times using Nearest Neighbour resampling.
image.Resize(image.Width* 2, image.Height* 2, Aspose.Imaging.ResizeType.NearestNeighbourResample);
image.Save(dir + "upsample.nearestneighbour.gif");
}
using (Aspose.Imaging.FileFormats.Gif.GifImage image = (Aspose.Imaging.FileFormats.Gif.GifImage)Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
// Scale down by 2 times using Nearest Neighbour resampling.
image.Resize(image.Width / 2, image.Height / 2, Aspose.Imaging.ResizeType.NearestNeighbourResample);
image.Save(dir + "downsample.nearestneighbour.gif");
}
using (Aspose.Imaging.FileFormats.Gif.GifImage image = (Aspose.Imaging.FileFormats.Gif.GifImage)Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
// Scale up by 2 times using Bilinear resampling.
image.Resize(image.Width* 2, image.Height* 2, Aspose.Imaging.ResizeType.BilinearResample);
image.Save(dir + "upsample.bilinear.gif");
}
using (Aspose.Imaging.FileFormats.Gif.GifImage image = (Aspose.Imaging.FileFormats.Gif.GifImage)Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
// Scale down by 2 times using Bilinear resampling.
image.Resize(image.Width / 2, image.Height / 2, Aspose.Imaging.ResizeType.BilinearResample);
image.Save(dir + "downsample.bilinear.gif");
}
Resize(int, int, ImageResizeSettings)
Återställ denna Aspose.Imaging.Image instans.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
Den nya bredden.
newHeight
int
Den nya höjden.
settings
ImageResizeSettings
De inställningar .
Examples
Detta exempel laddar upp en GIF-bild och återställer den med hjälp av olika återställningsinställningar.
string dir = "c:\\temp\\";
Aspose.Imaging.ImageResizeSettings resizeSettings = new Aspose.Imaging.ImageResizeSettings();
// The adaptive algorithm based on weighted and blended rational function and lanczos3 interpolation.
resizeSettings.Mode = Aspose.Imaging.ResizeType.AdaptiveResample;
// The small rectangular filter
resizeSettings.FilterType = Aspose.Imaging.ImageFilterType.SmallRectangular;
// The number of colors in the palette.
resizeSettings.EntriesCount = 256;
// The color quantization is not used
resizeSettings.ColorQuantizationMethod = ColorQuantizationMethod.None;
// The euclidian method
resizeSettings.ColorCompareMethod = ColorCompareMethod.Euclidian;
using (Aspose.Imaging.Image image = (Aspose.Imaging.Image)Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Scale down by 2 times using adaptive resampling.
gifImage.Resize(image.Width / 2, image.Height / 2, resizeSettings);
// Save to PNG
gifImage.Save(dir + "downsample.adaptive.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
ResizeFullFrame(int, int, resizeType)
Återskapa bilden samtidigt som man tar hänsyn till de fullständiga ramarna för varje sida i enGIF, därmed förhindra potentiella artefakter från att dyka upp.att upprätthålla bildens integritet och kvalitet, särskilt när det gälleranimerade gifs eller sekvenser av ramar.
public void ResizeFullFrame(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
Den nya bredden.
newHeight
int
Den nya höjden.
resizeType
ResizeType
Den återställande typen.
ResizeProportional(int, int, resizeType)
Proportionell återställning upprätthåller bildens aspektförhållande samtidigt som den justerar dess storlek, vilket säkerställer att bilden inte ser utsträckta eller förvrängda. Denna metod återställer bilden proportionellt, skala både bredd och höjd av samma faktor.Den proportionella återställningen återställer varje ram enligt förhållandet mellan newWidth’/width och
newHeight’/height.
public void ResizeProportional(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
Den nya bredden.
newHeight
int
Den nya höjden.
resizeType
ResizeType
Den återställande typen.
Rotate(Float, bool, färg)
Denna metod roterar bilden runt dess centrala punkt. Genom att specificera rotationenvinkeln, kan du rotera bilden klockvis eller counterklockvis för att uppnåönskad orientering. denna rotation hjälper till att justera bildens presentation elleranpassning utan att förstöra dess innehåll.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
Den roterade vinkeln i grader. Positiva värden roterar klockvis.
resizeProportionally
bool
Om du ställer in till ’true’ kommer du att ha din bildstorlek ändrats enligt roterade rektangulära (kornpunkter) projektioner i annat fall som lämnar dimensioner obekväma och endastinterna bildinnehåll roteras.
backgroundColor
Color
Färgen på bakgrunden.
RotateFlip(RotateFlipType)
Gör rotation, flipping, eller båda på den aktiva ramen uteslutande.tillämpar omvandlingar endast på den aktuella aktiva ramen för bilden,bevarar integriteten hos andra ramar i sekvensen.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Den roterade flip typen.
Examples
Detta exempel laddar en GIF-bild, roterar den med 90 grader klockvis och alternativt flips bilden horisontellt och/eller vertikalt.
string dir = "c:\\temp\\";
Aspose.Imaging.RotateFlipType[] rotateFlipTypes = new Aspose.Imaging.RotateFlipType[]
{
Aspose.Imaging.RotateFlipType.Rotate90FlipNone,
Aspose.Imaging.RotateFlipType.Rotate90FlipX,
Aspose.Imaging.RotateFlipType.Rotate90FlipXY,
Aspose.Imaging.RotateFlipType.Rotate90FlipY,
};
foreach (Aspose.Imaging.RotateFlipType rotateFlipType in rotateFlipTypes)
{
// Rotate, flip and save to the output file.
using (Aspose.Imaging.FileFormats.Gif.GifImage image = (Aspose.Imaging.FileFormats.Gif.GifImage)Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
image.RotateFlip(rotateFlipType);
image.Save(dir + "sample." + rotateFlipType + ".png", new Aspose.Imaging.ImageOptions.PngOptions());
}
}
SaveData(Stream)
Spara dina data.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Strömmen för att spara data till.
SetFrameTime(Försöker)
Anpassa varaktigheten av varje ram i millisekunder, vilket säkerställer en konsekvent timingi hela bildsekvensen. Denna metod anger enhetligt visningstiden förvarje ram, vilket möjliggör exakt kontroll över animeringshastighet.Att ändra detta värde kommer att återställa förseningen för alla ramar.
public void SetFrameTime(ushort time)
Parameters
time
ushort
Den ramtid varaktighet i millisekunder.
UpdateDimensions(int, int)
Uppdatera bilddimensionerna.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Den nya bilden bredd.
newHeight
int
Den nya bilden höjd.