Class GifImage
Numele spaţiului: Aspose.Imaging.FileFormats.Gif Asamblare: Aspose.Imaging.dll (25.4.0)
API pentru GIF (Graphical Interchange Format)dezvoltatori cu instrumente versatile pentru prelucrarea imaginilor de raster comprimate șiGIF-uri animate. oferă caracteristici cum ar fi manipularea metadata XMP, paleta de culorisetări, fundal și control transparent al culorilor, setările opacității, resize,grădină, aplicație de filtru, corectări gamma, ajustarea contrastului, grayscaletransformare, și conversie la alte formate. această API permite fără semnemanipularea și îmbunătățirea imaginilor GIF pentru o gamă largă de aplicații.
[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
Membrii moștenitori
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
Exportarea unei părți a animației din imaginea GIF bazată pe intervalul de timp.
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);
}
Acest exemplu arată cum să creați o imagine GIF și să o salvați într-un fișier.
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");
}
}
Creați imagini GIF de mai multe pagini folosind imaginile raster de o singură pagină.
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 și IColorPalette)
Începeți un nou obiect Aspose.Imaging.FileFormats.Gif. GifImage cu parametri specificați pentruprimul cadru și paleta globală. începe gestionarea rapidă a imaginilor GIF, asigurândreprezentarea exactă cu setări personalizabile pentru rezultate optime.
public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette)
Parameters
firstFrame
GifFrameBlock
Primul cadru pentru a iniția imaginea gif cu.
globalPalette
IColorPalette
Rețineți că dacă atât firstFrame’ cât și <cod class=paranf">globalPalette’ sunt nule, atunci se utilizează paleta globală de preferință.
Examples
Acest exemplu arată cum să creați o imagine GIF cu o paletă personalizată și să o salvați într-un fișier.
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’ nu poate fi zero
firstFrame’ aparține deja unei alte imagini.
Clasa <code=“paramref”>globalPalette’ specificat ar trebui să conțină numărul de intrări egale cu puterea de 2. dimensiunea minimă a paletei este 2, maximul este 256.
GifImage(GifFrameBlock)
Crearea de imagini GIF devine grea cu Aspose.Imaging.FileFormats.Gif.Constructor. cu doar primul parametru Frame, intră într-o lume dinamicăComunicarea vizuală.
public GifImage(GifFrameBlock firstFrame)
Parameters
firstFrame
GifFrameBlock
Primul cadru pentru a iniția imaginea gif cu.
Examples
Acest exemplu arată cum să creați o imagine GIF și să o salvați într-un fișier.
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");
}
}
Următorul exemplu arată cum să compuneți o imagine GIF animată de la blocuri individuale.
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’ nu poate fi zero
firstFrame’ aparține deja unei alte imagini.
Paleta specificată trebuie să conțină numărul de intrări egale cu puterea de 2. Dimensiunea minimă a paletei este 2, maximul este 256.
GifImage(GifFrameBlock, IColorPalette, bool, byte, bite, buol)
Începeți fără efort cu Aspose.Imaging.FileFormats.Gif. GifImage constructor.metoda simplă, puteți îneca în crearea GIF-urilor animate cu ușurință.primaFrame, globalPalette, paletteColorResolution, aspectRatio, și alteleParametrii, și sunteți gata să vă aduceți vizualizările în viață.
public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette, bool isPaletteSorted, byte paletteColorResolution, byte paletteBackgroundColorIndex, byte aspectRatio, bool hasTrailer)
Parameters
firstFrame
GifFrameBlock
Primul cadru pentru a iniția imaginea gif cu.
globalPalette
IColorPalette
Rețineți că dacă atât firstFrame’ cât și <cod class=paranf">globalPalette’ sunt nule, atunci se utilizează paleta globală de preferință.
isPaletteSorted
bool
dacă s-a setat la ’true’ paleta este sortată. notează că parametrul este utilizat atunci când globalPalette" nu este nul.
paletteColorResolution
byte
Notă parametru este utilizat atunci când globalPalette’ nu este zero.
paletteBackgroundColorIndex
byte
Indicele culorilor de fundal.
aspectRatio
byte
Raportul aspectului.
hasTrailer
bool
în cazul în care este setat pentru a ‘verit’ imaginea gif are trailer altfel nu există trailer scris la sfârșitul fluxului.
Exceptions
firstFrame’ nu poate fi zero
firstFrame’ aparține deja unei alte imagini.
Clasa <code=“paramref”>globalPalette’ specificat ar trebui să conțină numărul de intrări egale cu puterea de 2. dimensiunea minimă a paletei este 2, maximul este 256.
Properties
ActiveFrame
Gestionarea și manipularea cadrelor cu această proprietate, permițând o navigare netedă șiModificarea cadrului activ în cadrul imaginii GIF.
public GifFrameBlock ActiveFrame { get; set; }
Valoarea proprietății
Examples
Următorul exemplu arată cum să eliminați toate blocurile dintr-o imagine GIF.
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
Gestionarea culorii de fundal a imaginii GIF cu această proprietate.Recuperă culoarea fundalului pentru a asigura coerența și a îmbunătăți atracția vizuală.
public override Color BackgroundColor { get; set; }
Valoarea proprietății
BackgroundColorIndex
Controlați indexul culorilor de fundal al imaginii GIF folosind această proprietate.recâștigați indicele pentru a menține coerența sau a obține efectele vizuale dorite.
public byte BackgroundColorIndex { get; set; }
Valoarea proprietății
Blocks
Obțineți acces la blocurile GIF fără întârziere cu această proprietate, facilitând ușorrecuperarea și manipularea structurilor de date subiacente ale imaginii.
public IGifBlock[] Blocks { get; }
Valoarea proprietății
IGifBlock []
FileFormat
Returnați formatul de fișier fără efort cu această proprietate. este va merge la sursăpentru a identifica formatul fișierelor dvs. integrate fără probleme în fluxul de lucru,Acesta furnizează informații vitale fără nici o înșelăciune.
public override FileFormat FileFormat { get; }
Valoarea proprietății
HasBackgroundColor
Această proprietate determină dacă imaginea GIF conține o culoare de fundal.adevăr, indică faptul că imaginea include o culoare de fundal.
public override bool HasBackgroundColor { get; }
Valoarea proprietății
HasTrailer
Gestionați prezența unui trailer în fișierele GIF cu această proprietate.trebuie să verificați dacă există un trailer sau să-și stabilească prezența, această proprietate simplificăPăstrați fișierele GIF structurate și conforme cu această caracteristică intuitivă.
public bool HasTrailer { get; set; }
Valoarea proprietății
HasTransparentColor
Determinați dacă cadru activ al imaginii GIF include o culoare transparentă.Această proprietate oferă o modalitate convenabilă de a verifica transparența în interiorul imaginii.
public override bool HasTransparentColor { get; set; }
Valoarea proprietății
ImageOpacity
Reduceți opacitatea cadrului activ în interiorul imaginii, oferind o perspectivănivelul său de transparență.Această proprietate este deosebit de utilă pentru înțelegereagradul de transparență sau opacitate a cadrului activ în imagine.
public override float ImageOpacity { get; }
Valoarea proprietății
IsInterlaced
Determine dacă imaginea este interligată, impactând afișarea sa în timpul încărcării.proprietatea oferă o înțelegere a comportamentului de renderare a imaginii, esențială pentruoptimizarea strategiilor de încărcare și îmbunătățirea experienței generale de vizualizare.
public bool IsInterlaced { get; }
Valoarea proprietății
IsPaletteSorted
Controlați sortarea paletei în imaginile GIF folosind această proprietate.trebuie să verificați dacă paleta este sortată sau setarea comportamentului de sortare, aceastaproprietate oferă o modalitate simplă de a gestiona organizația de paletă înFișierele GIF.
public bool IsPaletteSorted { get; set; }
Valoarea proprietății
LoopsCount
Reduceți numărul de linguri fără efort cu această proprietate. dacă imaginea GIF includeinformații de curbă, această proprietate vă oferă acces rapid la numărarea curbinelor, permițândpentru a gestiona fără probleme comportamentul de curățare în fișierele GIF.
public int LoopsCount { get; set; }
Valoarea proprietății
PageCount
Returnați numărul total de pagini conținute în interiorul imaginii cu acestProprietate simplă. ideală pentru evaluarea rapidă a dimensiunii conținutului imaginii.
public override int PageCount { get; }
Valoarea proprietății
Pages
Obțineți acces la paginile din interiorul imaginii prin această proprietate convenabilă,Permite navigarea și manipularea individuală a paginilor, după cum este necesar.
public override Image[] Pages { get; }
Valoarea proprietății
Image []
PaletteColorResolutionBits
Gestionarea rezoluției de culori a imaginilor GIF cu această proprietate.numărul de bite utilizate pentru a reprezenta culorile în paletă, oferind un control finCalitatea culorii și calitatea imaginii.
public byte PaletteColorResolutionBits { get; set; }
Valoarea proprietății
PixelAspectRatio
Gestionați raportul aspectului pixel al imaginii GIF cu această proprietate.Raportul aspectului pentru a asigura performanța corectă și a menține fidelitatea vizuală.
public byte PixelAspectRatio { get; set; }
Valoarea proprietății
TransparentColor
Returnați culoarea transparentă a cadrului activ în imaginea GIF.vă permite să accesați culoarea specifică care a fost desemnată ca transparentăîn cadrul actual activ.
public override Color TransparentColor { get; }
Valoarea proprietății
XmpData
Gestionați metadate XMP cu această proprietate. indiferent dacă obțineți date metadata existentesau să-l actualizeze cu informații noi, această proprietate simplifică procesul.metadate organizate și accesibile, asigurând că fișierele dvs. conțininformaţii relevante de care au nevoie.
public override XmpPacketWrapper XmpData { get; set; }
Valoarea proprietății
Methods
AddBlock(Blocul IGIF)
Adăugarea unui nou bloc GIF vă permite să includeți date suplimentare în imaginea.Această metodă vă permite să adăugați blocuri personalizate la imaginea GIF, care poateConține diferite tipuri de informații.
public void AddBlock(IGifBlock block)
Parameters
block
IGifBlock
Blocul GIF se adaugă.
Examples
Următorul exemplu arată cum să compuneți o imagine GIF animată de la blocuri individuale.
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)
Introduceți o nouă pagină în imaginea existentă, îmbunătățind conținutul acesteiași extinde domeniul său de aplicare. această metodă crește colecțiile de imagini cu mai multeconținut, promovarea creativității și flexibilității în managementul imaginii și compoziția.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
Pagina pentru a adăuga.
Examples
Creați imagini GIF de mai multe pagini folosind imaginile raster de o singură pagină.
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)
Ajustă luminozitatea imaginii în funcție de parametrii specificațibrightness. Această metodă modifică luminositatea întregii imagini uniform, îmbunătățind sau reducând lumina generală pentru a obține efectul dorit.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Valori de lumină.
Examples
Următorul exemplu efectuează corectarea luminozității unei imagini GIF.
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(float)
Ajustă contrastul imaginii, îmbunătățind sau reducând diferența deluminozitatea dintre pixeli. această metodă modifică gama tonală generală a imaginii,A face zonele mai întunecate și a face zone mai luminoase pentru a îmbunătăți claritatea vizualăşi detaliu.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Valoarea contrastului (în interval [-100; 100])
Examples
Următorul exemplu efectuează corectarea contrastului unei imagini GIF.
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
Nu se poate schimba contrastul. Frame index: " + frameIndex
AdjustGamma(float)
Îmbunătățește calitatea imaginii prin aplicarea corecției gamma. această metodă ajustează culoareagama imaginii pentru a obține o claritate vizuală optimă. modifică valoarea gammafiecărui pixel, ceea ce duce la o performanță îmbunătățită a culorilor și la aspectul general al imaginii.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Gama pentru coeficientul canalelor roșii, verzi și albastru
Examples
Următorul exemplu efectuează corecția gamma a unei imagini GIF.
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(în float, float, float)
Corecția de gamă a unei imagini se aplică o ajustare nonlineară la valorile pixelelor,îmbunătățirea sau reducerea luminozității pe baza coeficientelor specificate pentru roșu;verde și albastru. această metodă ajută la îmbunătățirea echilibrului de culoare șiluminozitatea imaginii, îmbunătățind aspectul general și calitatea vizuală.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gama pentru coeficientul canalului roșu
gammaGreen
float
Gama pentru coeficientul canalului verde
gammaBlue
float
Gamma pentru coeficientul canalului albastru
Examples
Următorul exemplu efectuează corecția gamma a unei imagini GIF aplicând coeficienți diferiți pentru componentele de culoare.
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(Dublă)
Binarizarea unei imagini folosind algoritmul adaptiv al lui Bradley cuImaginea integrală este o metodă de transformare a unei imagini grayscale într-oAcest algoritm calculează un prag local pentru fiecare pixel bazat peintensitatea medie a pixelelor înconjurătoare într-o fereastră specificată.ajustarea adaptivă a pragului în funcție de intensitățile pixelelor locale, BradleyMetoda este eficientă în gestionarea variațiilor de iluminat și contrast peste imagini.
public override void BinarizeBradley(double brightnessDifference)
Parameters
brightnessDifference
double
Diferența de luminozitate dintre pixel și medie a unei ferestre s x s a pixelelor centrate în jurul acestui pixel.
BinarizeFixed(în byte)
Binarizarea unei imagini cu un prag predefinit convertește o scară gri sau o culoareimaginea intr-o imagine binara, unde fiecare pixel este clasificat ca negru sau albîn funcție de dacă valoarea sa de intensitate depășește un prag specificat.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Dacă valoarea gri corespunzătoare a unui pixel este mai mare decât pragul, o valoare de 255 va fi atribuită acestuia, 0 altfel.
Examples
Următorul exemplu binarizează o imagine GIF cu pragul predefinit. imagini binare conțin doar 2 culori - negru și alb.
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()
Binarizarea unei imagini cu pragul Otsu este o metodă utilizată pentru adetermină valoarea maximă optimă pentru convertirea unei imagini grayscale într-oImaginea binară. algoritmul de prag Otsu calculează pragul careminimizează variația intra-clasă a intensităților pixelelor în cele două rezultatecursuri (pregrafice și de fundal). această tehnică este deosebit de utilă atunci cândvaloarea pragului optim este necunoscută și trebuie determinată în mod adaptivpe histogramul imaginii.
public override void BinarizeOtsu()
Examples
Următorul exemplu binarizează o imagine GIF cu marginea Otsu. imagini binare conțin doar 2 culori - negru și alb.
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()
Curățarea tuturor blocurilor GIF îndepărtează orice date existente stocate în interiorul imaginii.Această operațiune reîntoarce în mod eficient imaginea într-o stare goală, eliminând oriceutilizează această metodă atunci când trebuie să începeți proaspăt cu unpentru a crea sau modifica o imagine GIF.
public void ClearBlocks()
Examples
Următorul exemplu arată cum să eliminați toate blocurile dintr-o imagine GIF.
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)
Creați imaginea folosind o zonă rectangulară specificată. Această operație îndepărtează exteriorulo parte a imaginii, care lasă numai regiunea selectată definită de rectanglu.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
în rectanglu .
Examples
Următorul exemplu crește o imagine GIF. Zona de creștere este specificată prin 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(DitheringMetodă, int, IColorPalette)
Aplicați dithering la imaginea curentă. Acest proces îmbunătățește calitatea imaginii prinreducerea bandajului de culori și îmbunătățirea tranzițiilor de culoare, ceea ce duce la o mai netedăapariţie .
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Metoda de depăşire.
bitsCount
int
Ultimele bite contează pentru dithering.
customPalette
IColorPalette
Paleta obișnuită pentru dithering.
Examples
Următorul exemplu încărcă o imagine GIF și realizează pragul și fluidul de dithering folosind diferite adâncimi de paletă.
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)
Aplicați un filtru specific în zona desemnată a imaginii, îmbunătățind vizualitatea acestuiacalitatea sau modificarea aspectului său după cum este dorit. această metodă procesează selectivpixelele din rectanglul definit, permițând efectuarea ajustărilor țintăÎn același timp, păstrarea integrității datelor imaginii înconjurătoare.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
în rectanglu .
options
FilterOptionsBase
ale opţiunilor .
Examples
Următorul exemplu se aplică diferitelor tipuri de filtre pentru o imagine GIF.
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()
Returnați opțiunile bazate pe setările de fișier originale, esențiale pentru menținerea fidelitățiiși coerența în prelucrarea și manipularea imaginii. această metodă permiteintegrarea parametrilor specifice fișierelor în operațiunile ulterioare, asigurândrezistență precisă și aderare la caracteristicile inerente ale imaginii.Acest lucru poate fi util pentru a menține adâncimea și alte parametri ale imaginii originale inalterate.De exemplu, dacă încărcăm o imagine PNG alb-negru cu 1 bit pe pixel și apoi o salvăm folosindAspose.Imaging.DataStreamSupporter.Save(System.String) metoda, va fi produs imaginea PNG de ieșire cu 8 bit pe pixel.Pentru a evita acest lucru și pentru a salva imaginea PNG cu 1 bit pe pixel, utilizați această metodă pentru a obține opțiunile de salvare corespunzătoare și a le trecela metoda Aspose.Imaging.Image.Save(System.String,_W L17.ImagineOptionsBase) ca al doilea parametru.
public override ImageOptionsBase GetOriginalOptions()
Returns
Opțiunile bazate pe setările de fișier originale.
Grayscale()
Transformarea unei imagini în reprezentarea sa grayscale convertește culoareaImaginea într-o versiune cu scară gri prin îndepărtarea informațiilor de culoare în timp ce păstrareaAcest proces simplifică imaginea la nuanțe de gri, făcând-o adecvatăpentru diverse aplicații, cum ar fi imprimarea, procesarea documentelor și grayscaleanaliză .
public override void Grayscale()
Examples
Următorul exemplu transformă o imagine GIF colorată în reprezentarea sa grayscale. imagini Graysscale sunt compuse exclusiv din nuanțe de gri și poartă doar informații de intensitate.
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(Cuvânt cheie: IGIFBlock)
Introducerea unui nou bloc GIF vă permite să adăugați date personalizate într-o anumită pozițieÎn interiorul imaginii. această metodă vă permite să puneți blocuri personalizate la un loc doritlocalizarea în imaginea GIF, oferind flexibilitate în organizarea și structurareadate de imagine.
public void InsertBlock(int index, IGifBlock block)
Parameters
index
int
Elementul bazat pe zero, la care blocul va fi introdus.
block
IGifBlock
Blocul GIF se adaugă.
OnPaletteChanged(Cuvânt cheie, Cuvânt cheie)
Se numește când se schimbă paleta.
protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
Vechea paletă
newPalette
IColorPalette
În noua paletă.
OnPaletteChanging(Cuvânt cheie, Cuvânt cheie)
Se numește când se schimbă paleta.
protected override void OnPaletteChanging(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
Vechea paletă
newPalette
IColorPalette
În noua paletă.
OrderBlocks()
Ordinarea blocurilor GIF în conformitate cu specificația Gif asigură un gif adecvatîndeplinirea și conformitatea cu standardul. acest proces implică organizareablocuri în secvența corectă, astfel cum este definită de specificație.poate implica îndepărtarea anumitor instante Aspose.Imaging.FileFormats.Gif.Blocks.DifGraphicsControlBlocknu sunt necesare pentru layout final. prin aderarea la specificația GIF,Imaginea rezultată va fi structurată corect și compatibilă cu vizualizarea GIFAplicaţii .
public void OrderBlocks()
RemoveBlock(Blocul IGIF)
Îndepărtarea unui bloc GIF îndepărtează date specifice din imagine, oferind capacitatea de acurățați sau modificați structura imaginii. această metodă vă permite să eliminați cele nedoritesau blocuri inutile, optimizând imaginea GIF pentru stocare eficientă.funcționalitate pentru a elimina informațiile învechite din imagine în timp ce păstreazăintegritatea şi calitatea lor.
public void RemoveBlock(IGifBlock block)
Parameters
block
IGifBlock
Blocul pentru a elimina.
Remarks
Notă: nu uitați să puneți blocul dacă nu îl adăugați la alte GifImage.
Resize(int, int, resizeType)
Reîncărcați acest lucru Aspose.Imaging.Image instanta.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
În noua lățime.
newHeight
int
Înălţimea nouă.
resizeType
ResizeType
Tipul de rezistenţă.
Examples
Acest exemplu încărcă o imagine GIF și o resizează folosind diferite metode de resizare.
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)
Reîncărcați acest lucru Aspose.Imaging.Image instanta.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
În noua lățime.
newHeight
int
Înălţimea nouă.
settings
ImageResizeSettings
şi de setări.
Examples
Acest exemplu încărcă o imagine GIF și o revizuiesc folosind diferite setări de revizuire.
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)
Recuperarea imaginii, luând în considerare cadrele complete pentru fiecare pagină într-oGIF, prin urmare, prevenirea apariției unor artefacte potențiale. această metodă este esențialăpentru a menține integritatea și calitatea imaginii, mai ales atunci când se ocupă cuGIF-uri animate sau secvențe de cadre.
public void ResizeFullFrame(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
În noua lățime.
newHeight
int
Înălţimea nouă.
resizeType
ResizeType
Tipul de rezistenţă.
ResizeProportional(int, int, resizeType)
Rezistența proporțională menține raportul aspect al imaginii în timp ce ajustează dimensiunea acesteia, asigurându-se că imaginea nu apare întinsă sau distorsionată. Această metodă reziste imagina proporțional, scalând atât lățimea, cât și înălțimii prin același factor.Rezistențele proporționale va rezista fiecare cadru în funcție de ratele newWidth’/width și
public void ResizeProportional(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
În noua lățime.
newHeight
int
Înălţimea nouă.
resizeType
ResizeType
Tipul de rezistenţă.
Rotate(float, bool, culoare)
Această metodă rotează imaginea în jurul punctului său central. prin specificarea rotațieiangle, puteți rota imaginea în mod orar sau counterclockwise pentru a obțineorientare dorită. această rotație ajută la ajustarea prezentării imaginii sauAlinierea fără a distorsiona conținutul.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
Angajul rotativ în grade. valorile pozitive se vor rotati pe oră.
resizeProportionally
bool
în cazul în care este setat la ’true’ veți avea dimensiunea imaginii modificate în funcție de rectangle rotate (punctele de coadă) proiecții în alte cazuri care lasă dimensiunile necorespunzătoare și numai interior conținutul de imagini sunt rotat.
backgroundColor
Color
Culoarea fundalului.
RotateFlip(RotateFlipType)
Performanța rotației, flipping-ului sau a ambelor în cadrul activ exclusiv.aplică transformările numai cadrului activ actual al imaginii,menținerea integrității celorlalte cadre în secvență.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Tipul de flip rotat.
Examples
Acest exemplu încărcă o imagine GIF, o rotează la 90 de grade în mod orar și opțional flipsă imaginea orizontală și (sau) verticală.
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)
salvează datele.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Stream pentru a salva datele la.
SetFrameTime(Răspundeți)
Ajustează durata fiecărui cadru în milisecunde, asigurând un timp consistentpe tot parcursul secvenței imaginii. această metodă stabilește uniform timpul de afișare pentrufiecare cadru, permițând controlul exact al vitezei de animație.Modificarea acestei valori va restabili întârzierea pentru toate ramurile.
public void SetFrameTime(ushort time)
Parameters
time
ushort
Timpul de cadru durează în milisecunde.
UpdateDimensions(int, int)
Actualizează dimensiunile imaginii.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Noua dimensiune a imaginii.
newHeight
int
Înălțimea noii imagini.