Class GifImage
nazivni prostor: Aspose.Imaging.FileFormats.Gif Sastav: Aspose.Imaging.dll (25.4.0)
API za Graphical Interchange Format (GIF) datoteka slike pružarazvijatelji s sveobuhvatnim alatima za obradu komprimiranih rasterskih slika ianimirani GIF-ovi. nude funkcije kao što su XMP metadata, paleta bojapostavke, pozadina i transparentna kontrola boja, postavki opacity, recize,uzgoj, primjena filtera, gamma korekcije, kontrast prilagodbe, grayscaletransformacija, i konverzija na druge formate. ova API omogućuje bespomoćnomanipulacija i poboljšanje GIF slike za širok raspon aplikacija.
[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
naslijeđeni članovi
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
Izvoz dijela animacije iz GIF slike na temelju vremenskog intervala.
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);
}
Ovaj primjer pokazuje kako stvoriti GIF sliku i sačuvati je u datoteku.
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");
}
}
Stvorite više stranica GIF slike pomoću pojedinačnih stranica raster slike.
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(Sljedeći članakGifFrameBlock, IColorPalette)
Počnite s novim Aspose.Imaging.FileFormats.Gif.DifImage objekt s određenim parametrima zaprvi okvir i globalna paleta. počnite brzo upravljati GIF slikama, osiguravajućitočan prikaz s prilagodljivim postavkama za optimalne rezultate.
public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette)
Parameters
firstFrame
GifFrameBlock
Prvi okvir za inicijaliziranje gif slike s.
globalPalette
IColorPalette
Imajte na umu da ako su i firstFrame’ i “code class”=“premf”>globalPalette’ nula, onda se koristi podrazumevani globalni palet.
Examples
Ovaj primjer pokazuje kako stvoriti GIF sliku s prilagođenom paletom i sačuvati ga u datoteku.
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’ ne može biti nula
firstFrame’ već pripada nekoj drugoj slici.
globalPalette’ navedeno bi trebalo sadržavati broj ulazaka jednako snagu 2. minimalna veličina palete je 2, maksimalno je 256.
GifImage(GifFrameBlock)
Izrada GIF slika postaje beznačajna s Aspose.Imaging.FileFormats.Gif.sa samo prvim parametrom Frame, ulazi u svijet dinamičnostiVizualna komunikacija .
public GifImage(GifFrameBlock firstFrame)
Parameters
firstFrame
GifFrameBlock
Prvi okvir za inicijaliziranje gif slike s.
Examples
Ovaj primjer pokazuje kako stvoriti GIF sliku i sačuvati je u datoteku.
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");
}
}
Sljedeći primjer pokazuje kako sastaviti animiranu sliku GIF-a iz pojedinih blokova.
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’ ne može biti nula
firstFrame’ već pripada nekoj drugoj slici.
Izvršena paleta mora sadržavati broj ulazaka jednako snagu 2. minimalna veličina palete je 2, maksimalna je 256.
GifImage(GifFrameBlock, IColorPalette, bool, bajt, byt)
Počnite bez napora s Aspose.Imaging.FileFormats.Gif. GifImage konstruktorom.Jednostavna metoda, možete se potopiti u stvaranje animiranih GIF-a lako.firstFrame, globalPalette, paletteColorResolution, aspectRatio, i drugiparametri, a vi ste spremni donijeti svoje vizualnosti u život.
public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette, bool isPaletteSorted, byte paletteColorResolution, byte paletteBackgroundColorIndex, byte aspectRatio, bool hasTrailer)
Parameters
firstFrame
GifFrameBlock
Prvi okvir za inicijaliziranje gif slike s.
globalPalette
IColorPalette
Imajte na umu da ako su i firstFrame’ i “code class”=“premf”>globalPalette’ nula, onda se koristi podrazumevani globalni palet.
isPaletteSorted
bool
ako je postavljena na ‘pravda’ paleta je razvrstana. primijetite da se parametar koristi kada globalPalette" nije nula.
paletteColorResolution
byte
Obratite pažnju na parametar koji se koristi kada globalPalette’ nije nula.
paletteBackgroundColorIndex
byte
Indeks boja pozadine palete.
aspectRatio
byte
Razlika u aspektu.
hasTrailer
bool
ako je postavljen na ‘istinu’ gif slika ima trailer inače nema trailer napisan na kraju struje.
Exceptions
firstFrame’ ne može biti nula
firstFrame’ već pripada nekoj drugoj slici.
globalPalette’ navedeno bi trebalo sadržavati broj ulazaka jednako snagu 2. minimalna veličina palete je 2, maksimalno je 256.
Properties
ActiveFrame
Upravljanje i manipulacija okvirima s ovim svojstvom, omogućavajući glatku navigaciju iizmjena aktivnog okvira unutar GIF slike.
public GifFrameBlock ActiveFrame { get; set; }
Vrijednost nekretnina
Examples
Sljedeći primjer pokazuje kako ukloniti sve bloke iz GIF slike.
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
Upravljajte boju pozadine slike GIF-a s ovim svojstvom. možete postaviti ilipovući boju pozadine kako bi se osigurala dosljednost i poboljšala vizualna privlačnost.
public override Color BackgroundColor { get; set; }
Vrijednost nekretnina
BackgroundColorIndex
Kontrolirajte indeks boje pozadine slike GIF-a pomoću ove svojstva.povući indeks kako bi se održala dosljednost ili postigli željeni vizualni učinci.
public byte BackgroundColorIndex { get; set; }
Vrijednost nekretnina
Blocks
Dobijte pristup GIF blokovima bespomoćno s ovom imovinom, olakšavajući lakoPreuzimanje i manipulacija temeljnim strukturama podataka slike.
public IGifBlock[] Blocks { get; }
Vrijednost nekretnina
IGifBlock []
FileFormat
Obnavljajte format datoteke bez napora s ovim vlasništvom. to je vaš go-to izvorza identifikaciju formata vaših datoteka. bespomoćno integrirani u vaš radni tok,Ona pruža važnu informaciju bez ikakvog uznemiravanja.
public override FileFormat FileFormat { get; }
Vrijednost nekretnina
HasBackgroundColor
Ova svojstva određuju da li GIF slika sadrži boju pozadine.Istina, to ukazuje na to da slika sadrži boju pozadine.
public override bool HasBackgroundColor { get; }
Vrijednost nekretnina
HasTrailer
Upravljajte prisutnost trailera u vašim GIF datotekama s ovom imovinom.potrebno je provjeriti postoji li trailer ili postaviti njegovu prisutnost, ova imovina pojednostavljujeDržite svoje GIF datoteke strukturirane i u skladu s ovom intuitivnom funkcijom.
public bool HasTrailer { get; set; }
Vrijednost nekretnina
HasTransparentColor
Određivanje da li aktivni okvir GIF slike sadrži transparentnu boju.Ova imovina pruža prikladan način za provjeru transparentnosti unutar slike.
public override bool HasTransparentColor { get; set; }
Vrijednost nekretnina
ImageOpacity
Obnavljajte opacitet aktivnog okvira unutar slike, pružajući uvid uNjegova razina transparentnosti.Ova imovina je posebno korisna za razumijevanjestupanj transparentnosti ili opakvenosti aktivnog okvira u slici.
public override float ImageOpacity { get; }
Vrijednost nekretnina
IsInterlaced
Određuje je li slika međusobno povezana, što utječe na njezin prikaz tijekom punjenja.imovina pruža uvid u ponašanje prikazivanja slike, neophodno zaoptimizirati strategije opterećenja i poboljšati opće iskustvo gledanja.
public bool IsInterlaced { get; }
Vrijednost nekretnina
IsPaletteSorted
Kontrolirajte razvrstavanje palete u vašim GIF slikama pomoću ove svojstva.morate provjeriti je li paleta sortirana ili postaviti ponašanje sortiranja, ovovlasništvo pruža jednostavan način za upravljanje paletnom organizacijom u vašemGIF datoteke
public bool IsPaletteSorted { get; set; }
Vrijednost nekretnina
LoopsCount
Uklonite broj lukova bez napora s ovim svojstvom. ako je vaš GIF slika uključujeInformacije o krugovima, ova imovina vam daje brz pristup broju kruga, omogućavajućiNeumorno upravljate ponašanjem u vašim GIF datotekama.
public int LoopsCount { get; set; }
Vrijednost nekretnina
PageCount
Povratak ukupnog broja stranica sadržanih u slici s ovimIdealan za brzu procjenu opsega sadržaja slike.
public override int PageCount { get; }
Vrijednost nekretnina
Pages
Dobiti pristup stranicama unutar slike kroz ovu prikladnu imovinu,omogućavajući bespomoćnu navigaciju i manipulaciju pojedinačnih stranica prema potrebi.
public override Image[] Pages { get; }
Vrijednost nekretnina
Image []
PaletteColorResolutionBits
Upravljajte paletnu boju rezolucije vaših GIF slika s ovom svojstvom.broj bitova koji se koriste za prikazivanje boja u paleti, pružajući fin kontroluVisoka boja i kvaliteta slike.
public byte PaletteColorResolutionBits { get; set; }
Vrijednost nekretnina
PixelAspectRatio
Upravljajte pikselnim aspektom sa slikom GIF-a s ovom svojstvom.odnos aspekta kako bi se osiguralo točno prikazivanje i održavanje vizualne vjernosti.
public byte PixelAspectRatio { get; set; }
Vrijednost nekretnina
TransparentColor
Obnavljajte transparentnu boju aktivnog okvira u sliku GIF-a.omogućuje vam pristup određenoj boji koja je označena kao transparentnau okviru trenutačno aktivnog okvira.
public override Color TransparentColor { get; }
Vrijednost nekretnina
XmpData
Upravljajte XMP metapodatke s ovim vlasništvom. da li dobivate postojeće meta podatkeili ga ažurirati s novim informacijama, ova imovina ubrzava proces.Vaši metapodatci su organizirani i pristupačni, osiguravajući da vaši datoteci sadržerelevantne informacije koje trebaju.
public override XmpPacketWrapper XmpData { get; set; }
Vrijednost nekretnina
Methods
AddBlock(Sljedeći članakBlock)
Dodavanje novog bloka GIF-a omogućuje uključivanje dodatnih podataka u sliku.Ova metoda omogućuje dodavanje prilagođenih blokova na sliku GIF-a, što možeSadrži različite vrste informacija.
public void AddBlock(IGifBlock block)
Parameters
block
IGifBlock
GIF blok za dodavanje.
Examples
Sljedeći primjer pokazuje kako sastaviti animiranu sliku GIF-a iz pojedinih blokova.
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)
Uključite novu stranicu u postojeću sliku, poboljšavajući njezin sadržaji proširiti svoj opseg. ova metoda povećati zbirke slika s dodatnimSadržaj, poticanje kreativnosti i fleksibilnosti u upravljanju slikom i sastavu.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
Stranica za dodavanje.
Examples
Stvorite više stranica GIF slike pomoću pojedinačnih stranica raster slike.
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)
Prilagodi svjetlost slike prema određenom parametru svjetlosti . ova metoda izmjenjuje svijetlost cijele slike jednako, poboljšavajući ili smanjujući ukupnu svjetlosnost kako bi se postigao željeni učinak.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Vrijednost svjetlosti
Examples
Sljedeći primjer provodi korekciju svjetlosti GIF slike.
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)
Prilagodi kontrast slike, povećavajući ili smanjujući razliku usvjetlost između piksela. ova metoda mijenja ukupni tonalni raspon slike,učiniti tamnije područje tamnijim i svijetlijim područjima svjetlije kako bi se poboljšala vizualna jasnostI detalje.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Vrijednost kontrasta (u rasponu [-100; 100])
Examples
Sljedeći primjer provodi kontrastno ispravljanje GIF slike.
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
Ne može se promijeniti kontrast. okvirni indeks: " + frameIndex
AdjustGamma(float)
Povećanje kvalitete slike primjenom gamma korekcije. ova metoda prilagođava bojugama slike za postizanje optimalne vizualne jasnoće. to mijenja gamma vrijednostod svakog piksela, što rezultira poboljšanom izradi boje i ukupnom izgledu slike.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Gamma za koeficijenta crvenih, zelenih i plavih kanala
Examples
Sljedeći primjer provodi gamma-korekciju GIF slike.
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(plovilo, plovilo i plovilo)
Gamma-korekcija slike primjenjuje ne-linearnu prilagodbu vrijednosti piksela,povećanje ili smanjenje svjetlosti na temelju određenih koeficijenata za crvenu,zeleni i plavi kanali. ova metoda pomaže da se osvijetli ravnoteža boja isvjetlost slike, poboljšavajući njezin opći izgled i vizualnu kvalitetu.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma za koeficijenta crvenog kanala
gammaGreen
float
Gamma za zeleni kanal koeficijenta
gammaBlue
float
Gamma za kofein plavog kanala
Examples
Sljedeći primjer provodi gamma-korekciju GIF slike primjenom različitih koeficijenata za komponente boje.
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(Dvostruko)
Binarizacija slike pomoću Bradleyjevog adaptivnog algoritma ograničenja sIntegralno ograničavanje slike je metoda za pretvaranje grayscale slike uOvaj algoritam izračunava lokalni prag za svaki pixel na temeljuprosječna intenzitet okolnih piksela unutar određenog prozora.adaptivno prilagođavanje praga na temelju lokalnih pikselnih intenziteta, Bradley’sMetoda je učinkovita u rješavanju promjena u svjetlu i kontrastu diljem slike.
public override void BinarizeBradley(double brightnessDifference)
Parameters
brightnessDifference
double
Razlika u svjetlosti između piksela i prosjeka prozora s x s piksela usredotočenog oko ovog piksela.
BinarizeFixed(byte)
Binarizacija slike s unaprijed definiranim pragom pretvara šljunčanu ili bojuslika u binarnu sliku, gdje je svaki pixel klasificiran kao crni ili bijeliovisno o tome je li njegova intenzitetna vrijednost iznad određenog praga.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Ako je odgovarajuća siva vrijednost piksela veća od granice, vrijednost od 255 će joj biti dodijeljena, 0 drugačije.
Examples
Sljedeći primjer binarizira GIF sliku s unaprijed definiranim pragom. binarne slike sadrže samo 2 boje - crno i bijelo.
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()
Binarizacija slike s Otsu ograničavanjem je metoda koja se koristi za automatskiodređivanje optimalne granice vrijednosti za pretvaranje grayscale slike uAlgoritam Otsu ograničenja izračunava granicu kojaMinimizira intra-klasičnu varijantu intenziteta piksela u oba rezultatarazredima (pregrond i pozadine). ova tehnika je posebno korisna kadaoptimalna granična vrijednost nije poznata i mora se utvrditi na odgovarajućoj osnovina histogramu slike.
public override void BinarizeOtsu()
Examples
Sljedeći primjer binarizira GIF sliku s Otsu ograničenjem. binarne slike sadrže samo 2 boje - crno i bijelo.
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()
Čišćenje svih GIF blokova uklanja sve postojeće podatke pohranjene unutar slike.Ova operacija učinkovito vraća sliku u prazno stanje, uklanjajući bilo kojiKoristite ovu metodu kada morate početi svježe s čistimSlate za stvaranje ili izmjenu GIF slike.
public void ClearBlocks()
Examples
Sljedeći primjer pokazuje kako ukloniti sve bloke iz GIF slike.
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)
Uzgajite sliku pomoću određenog pravokugla. ova operacija uklanja vanjsko područjedio slike, ostavljajući samo odabrano područje definirano pravokuglom.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
U pravom dijelu.
Examples
Sljedeći primjer uzgaja GIF sliku. područje uzgoja određuje se putem 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(DitheringMetoda, int, IColorPalette)
Primijenite dimenzije na trenutnu sliku.Ovaj proces poboljšava kvalitetu slikesmanjiti vezivanje boja i poboljšati prijelaz boje, što rezultira glatkimIzgleda se.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Metoda za iscjedak.
bitsCount
int
Konačni bitovi računaju za dithering.
customPalette
IColorPalette
Korištenje prilagođene palete za dijetiranje.
Examples
Sljedeći primjer preuzima sliku GIF-a i izvršava ograničenje i protjerivanje pomoću različitih dubina palete.
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(Sljedeći članakFilterOptionsBase)
Primijenite određeni filter na određeno područje slike, poboljšavajući njezinu vizualnu površinu.kvaliteta ili promijeniti svoj izgled po želji. ova metoda selektivno procesirapixelima unutar definiranog pravokuna, što omogućuje da se ciljanim prilagodbamauz očuvanje integriteta okolnih podataka o slikama.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
U pravom dijelu.
options
FilterOptionsBase
i opcije .
Examples
Sljedeći primjer primjenjuje različite vrste filtera na GIF sliku.
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()
Obnavljajte originalne opcije na temelju postavki datoteke, ključne za održavanje vjernostii dosljednost u obrađivanju i manipulaciji slike. ova metoda omogućuje bezbrižnointegracija specifičnih parametara datoteke u naknadne operacije, osiguravajućitočna predaja i usklađenost s prirodnim karakteristikama slike.To može biti korisno za održavanje bit-glob i drugih parametara izvorne slike nepromijenjene.Na primjer, ako preuzmemo crno-bijelu sliku PNG s 1 bitom po pikselu, a zatim je sačuvamo pomoćuAspose.Imaging.DataStreamSupporter.Save(System.String) metoda, izlazna PNG slika s 8 bit po pikselu će se proizvesti.Da biste to izbjegli i sačuvali sliku s 1 bitom po pikselu, koristite ovu metodu kako biste dobili odgovarajuće opcije spašavanja i prošli ih.prema metodi Aspose.Imaging.Image.Save(System.String,_Wl17.ImageOptionsBase) kao drugom parametru.
public override ImageOptionsBase GetOriginalOptions()
Returns
Opcije temelje se na originalnim postavkama datoteke.
Grayscale()
Transformacija slike u njezinu šljunčanu reprezentaciju pretvara bojusliku u grajsku verziju uklanjanjem informacija o boji dok se čuvaOvaj proces pojednostavljuje sliku na sjene sive, čineći je prikladnomza različite aplikacije kao što su tiskanje, obrada dokumenata i grayscaleAnaliza je.
public override void Grayscale()
Examples
Sljedeći primjer pretvara obojeni GIF sliku u njezinu grayscale reprezentaciju. Grayscal slike sastoje se isključivo od sjene sive i nosi samo informacije o intenzitetu.
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(Sljedeći Članak IGIFBlock)
Ustavljanje novog bloka GIF-a omogućuje dodavanje prilagođenih podataka u određenom položajuOva metoda omogućuje postavljanje prilagođenih blokova na željenilokacija u GIF-u, pružajući fleksibilnost u organiziranju i strukturiranjuInformacije o slikama.
public void InsertBlock(int index, IGifBlock block)
Parameters
index
int
Nula temelji se na elementu, na kojem će se blok staviti.
block
IGifBlock
GIF blok za dodavanje.
OnPaletteChanged(Sljedeći članakSljedeći članakSljedeći članakIcolorPalette)
Naziva se kada se paleta mijenja.
protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
Stara je paleta.
newPalette
IColorPalette
Nova je paleta.
OnPaletteChanging(Sljedeći članakSljedeći članakSljedeći članakIcolorPalette)
Naziva se kada se paleta mijenja.
protected override void OnPaletteChanging(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
Stara je paleta.
newPalette
IColorPalette
Nova je paleta.
OrderBlocks()
Naručivanje GIF blokova prema specifikaciji Gif osigurava odgovarajućeraspored i usklađenost s standardom.Ovaj proces uključuje aranžiranjeblokovi u ispravnom redoslijedu kako je definirano specifikacijom.može uključivati uklanjanje određenih Aspose.Imaging.FileFormats.Gif.Blocks.DigitalGraphicsControlBlock primjera kojene zahtijevaju se za konačnu rasporedu.U skladu s specifikacijom GIF-a,Rezultati će biti pravilno strukturirani i kompatibilni s GIF-ovim prikazom.primjene .
public void OrderBlocks()
RemoveBlock(Sljedeći članakBlock)
Uklanjanje bloka GIF-a uklanja određene podatke s slike, pružajući mogućnostČišćenje ili izmjena strukture slike. ova metoda omogućuje uklanjanje neželjenihili nepotrebne blokove, optimizirajući GIF sliku za učinkovito skladištenje.funkcionalnost za uklanjanje zastarjelih informacija s slike dok se čuvaNjegova integriteta i kvaliteta.
public void RemoveBlock(IGifBlock block)
Parameters
block
IGifBlock
Blok za uklanjanje.
Remarks
Napomena: nemojte zaboraviti staviti blok ako ga ne dodate nekim drugim GifImage.
Resize(int, int, resizeType)
Preuzmite ovaj Aspose.Imaging.Image primjerak.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
U novoj širini.
newHeight
int
U novoj visini.
resizeType
ResizeType
Vrsta povlačenja.
Examples
Ovaj primjer preuzima sliku GIF-a i reciklira je pomoću različitih metoda recidiva.
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, ImageResizeUredi)
Preuzmite ovaj Aspose.Imaging.Image primjerak.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
U novoj širini.
newHeight
int
U novoj visini.
settings
ImageResizeSettings
U nastavku je.
Examples
Ovaj primjer preuzima GIF sliku i ponavlja je pomoću različitih ponovnih postavki.
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)
Preuzimanje slike uzimajući u obzir cijeli okvir za svaku stranicu uGIF, stoga sprečavajući pojavu potencijalnih artefakata. ova metoda je neophodnao održavanju integriteta i kvalitete slike, osobito kada se radi oanimirani GIF ili sekvencije okvirima.
public void ResizeFullFrame(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
U novoj širini.
newHeight
int
U novoj visini.
resizeType
ResizeType
Vrsta povlačenja.
ResizeProportional(int, int, resizeType)
Proporcionalno rezanje održava aspektni omjer slike dok prilagođava njezinu veličinu, osiguravajući da se slika ne pojavljuje rastegnuta ili poremećena.Ova metoda rezuje sliku razmjerno, skalajući i širinu i visinu po istom faktoru.Pravilna rezanja će rezati svaki okvir prema omjeru newWidth’/width i
newHeight’ / height.
public void ResizeProportional(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
U novoj širini.
newHeight
int
U novoj visini.
resizeType
ResizeType
Vrsta povlačenja.
Rotate(Float, bool, boja i boja)
Ova metoda vrti sliku oko njezine središnje točke. određivanjem rotacijeu uglu, možete okrenuti sliku na sat ili na kontrast za postizanjeOva rotacija pomaže prilagoditi prezentaciju slike iliUsklađenost bez poremećaja sadržaja.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
Okretni kut u stupanjima. pozitivne vrijednosti će se okrenuti na sat.
resizeProportionally
bool
ako se postavite na ’true’ promijenit ćete veličinu slike prema rotacijskim rektangularnim (kornarnim točkama) projekcijama u drugim slučajevima koje ostavljaju dimenzije bez dodira i samointerna sadržaj slike je rotacijski.
backgroundColor
Color
Boja pozadine.
RotateFlip(RotateFlipType)
Izvođenje rotacije, flipping, ili oboje na aktivnom okvir isključivo.primjenjuje transformacije isključivo na trenutačno aktivni okvir slike,Održavanje integriteta drugih okvira u sekvenciji.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Vrsta rotirajućeg flip.
Examples
Ovaj primjer opterećuje sliku GIF-a, vrti je 90 stupnjeva na sat i opcionalno flije slikom horizontalno i (ili) vertikalno.
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)
Sačuvajte podatke.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Proljev za spašavanje podataka na.
SetFrameTime(Sljedeći)
Prilagodi trajanje svakog okvira u milisekundama, osiguravajući dosljedno vremensko razdobljetijekom sekvencije slike. ova metoda jednako određuje vrijeme prikazivanja zasvaki okvir, omogućavajući točnu kontrolu brzine animacije.Promjena ove vrijednosti će ponovno uspostaviti kašnjenje za sve okvirima.
public void SetFrameTime(ushort time)
Parameters
time
ushort
Vrijeme trajanja u milisekundama.
UpdateDimensions(u, u)
ažurira dimenzije slike.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Nova širina slike.
newHeight
int
Visina nove slike.