Class GifImage
Името на пространството: Aspose.Imaging.FileFormats.Gif Асамблея: Aspose.Imaging.dll (25.4.0)
API за графичен формат за обмен на изображения (GIF)разработчици с многофункционални инструменти за обработка на компресирани растер изображения ианимирани GIFs. предлагат функции като XMP обработка на метаданни, цветови палетинастройки, фона и прозрачен контрол на цветовете, настройките за безпроблемност, преместване,crop, филтриране приложение, гама корекции, контраст адаптация, грейскалпреобразуване, и конвертиране на други формати. тази API улеснява безкрайноманипулиране и подобряване на GIF изображения за широк спектър от приложения.
[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
наследници
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
Износ на част от анимацията от GIF изображение въз основа на временния интервал.
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);
}
Този пример показва как да създадете GIF изображение и да го съхранявате в файл.
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");
}
}
Създаване на многострани GIF изображения с помощта на една страница растер снимки.
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 и IColorPalette)
Започнете нов Aspose.Imaging.FileFormats.Gif.DifImage обект с определени параметри заПърва рамка и глобална палета. Започнете да управлявате GIF изображения бързо, осигурявайкиТочно представяне с персонализирани настройки за оптимални резултати.
public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette)
Parameters
firstFrame
GifFrameBlock
Първата рамка за стартиране на GIF изображение с.
globalPalette
IColorPalette
Забележете, че ако както firstFrame’ и <code class=parama">globalPalette’ са нули, тогава се използва стандартна глобална палета.
Examples
Този пример показва как да създадете GIF изображение с персонализирана палета и да го съхранявате в файл.
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’ не може да бъде нула
firstFrame’ вече принадлежи на някаква друга картина.
Специфичният globalPalette’ трябва да съдържа числото на въведенията, равни на мощността на 2. минимален размер на палетата е 2, максимумът е 256.
GifImage(GifFrameBlock)
Изграждането на GIF изображения става безпроблемно с Aspose.Imaging.FileFormats.Gif.с първия параметър на рамката, той влиза в свят на динамикатаВизуална комуникация .
public GifImage(GifFrameBlock firstFrame)
Parameters
firstFrame
GifFrameBlock
Първата рамка за стартиране на GIF изображение с.
Examples
Този пример показва как да създадете GIF изображение и да го съхранявате в файл.
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");
}
}
Следващият пример показва как да се състави анимиран GIF изображение от отделните Gif блокове.
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’ не може да бъде нула
firstFrame’ вече принадлежи на някаква друга картина.
Посочената палета трябва да съдържа вноски, които са равни на мощността на 2. минимален размер на палетата е 2, максималният е 256.
GifImage(GifFrameBlock, IColorPalette, боол, байт, бийт, бик, bool)
Започнете без усилие с Aspose.Imaging.FileFormats.Gif. GifImage конструктор.прост метод, можете да се потопите в създаването на анимирани GIF с лекота.firstFrame, globalPalette, paletteColorResolution, aspectRatio и другипараметри, и вие сте готови да донесе визуализацията си към живота.
public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette, bool isPaletteSorted, byte paletteColorResolution, byte paletteBackgroundColorIndex, byte aspectRatio, bool hasTrailer)
Parameters
firstFrame
GifFrameBlock
Първата рамка за стартиране на GIF изображение с.
globalPalette
IColorPalette
Забележете, че ако както firstFrame’ и <code class=parama">globalPalette’ са нули, тогава се използва стандартна глобална палета.
isPaletteSorted
bool
Забележете, че параметърът се използва, когато globalPalette" не е нула.
paletteColorResolution
byte
Забележете, че параметърът се използва, когато globalPalette’ не е нула.
paletteBackgroundColorIndex
byte
Индексът на цветовете на фона.
aspectRatio
byte
Съотношението на аспекта.
hasTrailer
bool
ако сте зададени за “истински” на GIF изображението има трейлър в противен случай не е написано на края на потока.
Exceptions
firstFrame’ не може да бъде нула
firstFrame’ вече принадлежи на някаква друга картина.
Специфичният globalPalette’ трябва да съдържа числото на въведенията, равни на мощността на 2. минимален размер на палетата е 2, максимумът е 256.
Properties
ActiveFrame
Управление и манипулиране на рамки с тази собственост, което позволява гладка навигация иПромяна на активната рамка в изображението GIF.
public GifFrameBlock ActiveFrame { get; set; }
стойност на имота
Examples
Следващият пример показва как да премахнете всички блокове от 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
Управление на цвета на фона на изображението GIF с тази собственост. можете да зададете иливъзстановяване на цвета на фона, за да се гарантира последователност и подобряване на визуалния привличане.
public override Color BackgroundColor { get; set; }
стойност на имота
BackgroundColorIndex
Контролирайте индекса на цветовете на изображението GIF, като използвате тази свойство.Вземете индекса, за да поддържате последователността или да постигнете желаните визуални ефекти.
public byte BackgroundColorIndex { get; set; }
стойност на имота
Blocks
Получете достъп до GIF блоковете безпроблемно с тази собственост, улеснявайки лесноВъзвръщаемост и манипулация на основните структури на данните на изображението.
public IGifBlock[] Blocks { get; }
стойност на имота
IGifBlock []
FileFormat
Възстановяване на формат на файла без усилие с тази собственост.за идентифициране на формата на вашите файлове. безпроблемно интегрирани във вашия работен поток,Тя предоставя жизненоважна информация без никакви смущения.
public override FileFormat FileFormat { get; }
стойност на имота
HasBackgroundColor
Тази собственост определя дали изображението GIF съдържа цвят на фона.Истината е, че изображението включва цвят на фона.
public override bool HasBackgroundColor { get; }
стойност на имота
HasTrailer
Управлявайте наличието на трейлър във вашите GIF файлове с тази собственост.трябва да се провери дали има трейлър или да определи неговото присъствие, тази собственост улесняваДръжте GIF файловете си структурирани и съвместими с тази интуитивна функция.
public bool HasTrailer { get; set; }
стойност на имота
HasTransparentColor
Определете дали активната рамка на изображението GIF включва прозрачен цвят.Тази собственост осигурява удобен начин да се провери прозрачността в рамките на изображението.
public override bool HasTransparentColor { get; set; }
стойност на имота
ImageOpacity
Възстановяване на непрозрачността на активната рамка в рамките на изображението, предлагайки поглед къмнивото на неговата прозрачност. тази собственост е особено полезна за разбирането настепента на прозрачност или неравномерност на активната рамка в изображението.
public override float ImageOpacity { get; }
стойност на имота
IsInterlaced
Определя дали изображението е взаимосвързано, което засяга дисплея му по време на зареждане.Имотът предлага разбиране за представянето на изображението, което е от съществено значение заОптимизиране на стратегиите за зареждане и подобряване на общото изживяване.
public bool IsInterlaced { get; }
стойност на имота
IsPaletteSorted
Контролирайте сортирането на палетата в GIF изображенията си, като използвате тази собственост.трябва да проверите дали палетата е сортирана или да зададете поведението за сортиране, товасобственост осигурява лесен начин за управление на палетата на организацията във вашияGIF файлове
public bool IsPaletteSorted { get; set; }
стойност на имота
LoopsCount
Възстановяване на броя на кръга без усилия с тази собственост. Ако GIF изображението включваинформация за кръга, тази собственост ви дава бърз достъп до броя на кръговете, което позволяваМожете да управлявате безпроблемно хобита поведение в вашите GIF файлове.
public int LoopsCount { get; set; }
стойност на имота
PageCount
Премахване на общия брой страници, съдържащи се в изображението с тазиИдеален за бързо оценяване на размера на съдържанието на изображението.
public override int PageCount { get; }
стойност на имота
Pages
Достъп до страниците в рамките на изображението чрез тази удобна собственост,Осигуряване на безпроблемна навигация и манипулация на отделните страници, както е необходимо.
public override Image[] Pages { get; }
стойност на имота
Image []
PaletteColorResolutionBits
Управление на цветовата резолюция на вашите GIF изображения с тази свойство.броят на битите, използвани за представяне на цветове в палетата, осигурявайки фин контролЦветната дълбочина и качеството на изображението.
public byte PaletteColorResolutionBits { get; set; }
стойност на имота
PixelAspectRatio
Управлявайте съотношението на аспекта на пиксела на изображението GIF с това свойство.съотношението на аспекта, за да се гарантира точна представяне и поддържа визуална лоялност.
public byte PixelAspectRatio { get; set; }
стойност на имота
TransparentColor
Възстановяване на прозрачния цвят на активната рамка в GIF изображението.Ви позволява да получите достъп до конкретния цвят, който е определен като прозраченВ рамките на настоящата активна рамка.
public override Color TransparentColor { get; }
стойност на имота
XmpData
Управление на XMP метаданни с тази собственост. независимо дали получавате съществуващи метаданиили да го актуализирате с нова информация, тази собственост ускорява процеса.Вашите метаданни са организирани и достъпни, като се гарантира, че вашите файлове съдържатВажна информация, от която се нуждаят.
public override XmpPacketWrapper XmpData { get; set; }
стойност на имота
Methods
AddBlock(ИГИФБЛОК)
Добавянето на нов GIF блок ви позволява да включите допълнителни данни в изображението.Този метод ви позволява да добавите персонализирани блокове към GIF изображението, което може даСъдържа различни видове информация.
public void AddBlock(IGifBlock block)
Parameters
block
IGifBlock
GIF блокът трябва да се добави.
Examples
Следващият пример показва как да се състави анимиран GIF изображение от отделните Gif блокове.
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)
Инкорпориране на нова страница в съществуващата картина, подобряване на нейното съдържаниеи разширяване на обхвата му. Този метод увеличава колекциите на изображения с допълнителниСъдържание, насърчаване на творчеството и гъвкавостта в управлението на изображенията и композицията.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
Страница за добавяне.
Examples
Създаване на многострани GIF изображения с помощта на една страница растер снимки.
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(инт)
Приспособява яркостта на изображението в съответствие с параметъра на яростта, посочен в . Този метод променя светлината на цялата картина равномерно, като подобрява или намалява общата светлина, за да постигне желания ефект.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Стойност на яркостта.
Examples
Следващият пример извършва корекция на яркостта на 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(Флота)
Приспособява контраста на изображението, подобрява или намалява разликата всветлината между пикселите. този метод променя общата тонална гама на изображението,да направят по-тъмните зони тъмни и светли, за да подобрят зрителната яснотаи детайлите.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Контрастна стойност (в диапазон [-100; 100])
Examples
Следващият пример извършва корекция на контраста на 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
Не може да се промени контраст. Frame index: " + frameIndex
AdjustGamma(Флота)
Подобряване на качеството на изображението чрез прилагане на гама корекция. Този метод коригира цветаГама на изображението за постигане на оптимална визуална яснота. тя променя стойността на гаматана всеки пиксел, което води до по-добро представяне на цветовете и общ външен вид на изображението.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Гама за червени, зелени и сини канали коефициент
Examples
Следващият пример извършва гама корекция на 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(плавател, плавател, плавател)
Gamma-корекция на изображението се прилага нелинейно адаптиране към стойностите на пикселите,подобряване или намаляване на яркостта въз основа на посочените коефициенти за червения цвят;зелени, и сини канали. този метод помага за фино-тънки баланса на цветовете иСветлината на изображението, подобряване на цялостния му външен вид и визуално качество.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Гама за коефициент на червения канал
gammaGreen
float
Гама за зеления канал коефициент
gammaBlue
float
Гама за синия канал коефициент
Examples
Следващият пример извършва гама корекция на 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 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(Двойно)
Бинаризация на изображението, използвайки адаптивния алгоритъм на БрадлиПродължителността на изображението е метод за конвертиране на грейскално изображение вТози алгоритъм изчислява локален праг за всеки пиксел въз основа насредната интензивност на заобикалящите се пиксели в определено прозорци.адаптивно регулиране на прага въз основа на местните пикселни интензитети, БрадлиМетодът е ефективен при справяне с вариациите в осветлението и контраста по цялата картина.
public override void BinarizeBradley(double brightnessDifference)
Parameters
brightnessDifference
double
Разликата в яркостта между пиксела и средната стойност на прозореца с x s, която се концентрира около него.
BinarizeFixed(Бийт)
Бинаризацията на изображението с предварително дефиниран праг конвертира сива скала или цвятизображение в бинарна картина, където всеки пиксел е класифициран като черно или бяловъз основа на това дали неговата стойност на интензитета надвишава определен праг.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Ако съответната сива стойност на пиксел е по-голяма от прага, стойността на 255 ще бъде приписана, 0 в противен случай.
Examples
Следващият пример бинарнизира GIF изображение с предварително дефиниран праг. бинаризирани изображения съдържат само 2 цветове - черно и бяло.
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()
Binarization на изображение с Otsu праг е метод, използван за автоматичноопределя оптималната стойност на прага за конвертиране на грейскално изображение вАлгоритъмът на прага Otsu изчислява лимита, койтоминимизира интра-класовата вариация на пикселовите интензитети в резултатите отклас (предграден и фон). тази техника е особено полезна, когатоОптималната стойност на прага е неизвестна и трябва да бъде определена адаптивно.на хистограмата на изображението.
public override void BinarizeOtsu()
Examples
Следващият пример бинарнизира GIF изображение с Otsu рамка. бинаризирани изображения съдържат само 2 цветове - черно и бяло.
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()
Изчистването на всички GIF блокове премахва всички съществуващи данни, съхранени в изображението.Тази операция ефективно преобразува изображението в празно състояние, премахвайки всичкиизползвайте този метод, когато трябва да започнете свеж с чистСлайд за създаване или модифициране на GIF изображение.
public void ClearBlocks()
Examples
Следващият пример показва как да премахнете всички блокове от 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)
Изградете изображението с помощта на определена правоъгълна област. Тази операция премахва външниячаст от изображението, оставяйки само избрания регион, определен от правоъгълника.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
на правоъгълника.
Examples
Следващият пример отглежда GIF изображение. зоната за отглеждане се посочва чрез 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(ДитърингMethod, int, IColorPalette)
Прилагайте дитиране към текущото изображение. Този процес подобрява качеството на изображението чрезнамаляване на цветните връзки и подобряване на преходните цветове, което води до по-гъвкаваи външен вид.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Методът на дистрибуция.
bitsCount
int
Последните битове се броят за дитиране.
customPalette
IColorPalette
Палетата е предназначена за дитиране.
Examples
Следващият пример зарежда 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;
// 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(Филтриране, FilterOptionsBase)
Нанесете конкретен филтър върху определената област на изображението, подобрявайки визуалността му.качеството или промяна на външния му вид, както е желано. този метод селективно обработвапиксели в определения правоъгълник, което позволява да се направят целенасочени корекцииВ същото време се запазва целостта на околните данни за изображения.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
на правоъгълника.
options
FilterOptionsBase
и възможностите.
Examples
Следващият пример прилага различни видове филтри за 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()
Възстановяване на оригиналните файлови опции, които са от решаващо значение за поддържането на лоялносттаи последователност в обработката на изображения и манипулацията. този метод позволява безкрайноинтегриране на файло-специфични параметри в последващите операции, осигуряване наточна предаване и привързаност към вътрешните характеристики на изображението.Това може да бъде полезно, за да се запази битовата дълбочина и други параметри на оригиналната картина непроменени.Например, ако зареждаме черно-бяло PNG изображение с 1 бит на пиксел и след това го съхраняваме с помощта наAspose.Imaging.DataStreamSupporter.Save(System.String) метод, изходната PNG изображение с 8 бита на пиксел ще бъде произведена.За да избегнете това и да спестите PNG изображение с 1-бит на пиксел, използвайте този метод, за да получите съответните възможности за спестяване и ги прехвърлитена метода Aspose.Imaging.Image.Save(System.String,_Wl17.ImageOptionsBase) като втори параметър.
public override ImageOptionsBase GetOriginalOptions()
Returns
Опциите се основават на първоначалните настройки на файла.
Grayscale()
Преобразуването на изображението в негова грейскално представяне превръща цветаизображение в грей скална версия чрез премахване на информацията за цветовете, като същевременноТози процес опростява изображението до нюанси на сиво, което го прави подходящза различни приложения като печат, обработка на документи и граискалАнализът .
public override void Grayscale()
Examples
Следващият пример преобразува цветно изображение на GIF в неговия грейскален представител. Grayscale изображения се състоят изключително от сиви нюанси и носят само информация за интензитет.
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(Блокиране на IGIFBlock)
Въвеждането на нов GIF блок ви позволява да добавите персонализирани данни в определена позицияв рамките на изображението. този метод ви позволява да поставите персонализирани блокове на желанияместоположение в изображението на GIF, осигуряване на гъвкавост при организирането и структурирането наСнимка на данните.
public void InsertBlock(int index, IGifBlock block)
Parameters
index
int
Елементът, базиран на нула, в който блокът ще бъде вмъкнат.
block
IGifBlock
GIF блокът трябва да се добави.
OnPaletteChanged(Изолация, IColorPalette)
Позива се, когато палетът се променя.
protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
Старата палитра.
newPalette
IColorPalette
Новата палитра.
OnPaletteChanging(Изолация, IColorPalette)
Позива се, когато палетът се променя.
protected override void OnPaletteChanging(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
Старата палитра.
newPalette
IColorPalette
Новата палитра.
OrderBlocks()
Поръчането на GIF блоковете в съответствие с спецификацията за ГИФ осигурява подходящ ГІФсъстав и съответствие с стандарта. този процес включва организиране наБлокове в правилната последователност, както е определено от спецификацията.може да включва премахване на определени Aspose.Imaging.FileFormats.Gif.Blocks. GifGraphicsControlBlock примери, коитоне са необходими за окончателното оформление. чрез спазване на спецификацията GIF,Резултатът от изображението ще бъде правилно структуриран и съвместим с ГИФ прегледи приложенията.
public void OrderBlocks()
RemoveBlock(ИГИФБЛОК)
Премахването на GIF блок премахва специфични данни от изображението, предлагайки възможност започистване или промяна на структурата на изображението. този метод ви позволява да премахнете нежеланиили ненужни блокове, оптимизиране на GIF изображението за ефективно съхранение.функционалност за премахване на остарялата информация от изображението, като същевременно се запазваНеговата цялост и качество.
public void RemoveBlock(IGifBlock block)
Parameters
block
IGifBlock
Блокът трябва да бъде премахнат.
Remarks
Забележка: Не забравяйте да разположите блока, ако не го добавите към други GifImage.
Resize(Инт, инт и резистент)
Изтегляне на този Aspose.Imaging.Image инстанция.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
Новата ширина.
newHeight
int
Новата височина.
resizeType
ResizeType
Типът на възстановяване.
Examples
Този пример натоварва GIF изображение и го рецизира с помощта на различни методи за ресизиране.
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(Инт, инт и ImageResizeSettings)
Изтегляне на този Aspose.Imaging.Image инстанция.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
Новата ширина.
newHeight
int
Новата височина.
settings
ImageResizeSettings
и на настройките.
Examples
Този пример изтегля GIF изображение и го рецизира с помощта на различни настройки.
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(Инт, инт и резистент)
Възпроизвеждане на изображението, като се вземат предвид пълните рамки за всяка страница вGIF, като по този начин предотвратява появата на потенциални артефакти.за поддържане на целостта и качеството на изображението, особено когато се занимава санимирани GIF или последователности на рамки.
public void ResizeFullFrame(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
Новата ширина.
newHeight
int
Новата височина.
resizeType
ResizeType
Типът на възстановяване.
ResizeProportional(Инт, инт и резистент)
Пропорционалното резизиране поддържа аспектното съотношение на изображението, докато се коригира размера му, за да се гарантира, че снимката не изглежда разтягана или деформирана. Тази методология рецизира изображение пропортивно, скалирайки както ширината, така и височината по един и същ фактор.Пропорционното ресиране ще редизира всяка рамка в съответствие с равнището на <код клас=“paramref”>newWidth’/width и newHeight’ / height.
public void ResizeProportional(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
Новата ширина.
newHeight
int
Новата височина.
resizeType
ResizeType
Типът на възстановяване.
Rotate(Флоат, Боол, Цвет)
Този метод върти изображението около неговата централна точка.в ъгъл, можете да въртите изображението на часовника или на контрачаса, за да постигнетежеланата ориентация. тази ротация помага да се коригира представянето на изображението илиАнализ, без да се нарушава съдържанието му.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
Позитивните стойности ще се въртят по часовника.
resizeProportionally
bool
ако сте зададени на “истински”, ще промените размера на изображението си в съответствие с въртящите се правоъгълни (коренни точки) проекции в други случаи, които оставят измеренията без докосване и само вътрешното съдържание на снимката се върти.
backgroundColor
Color
Цветът на фона.
RotateFlip(RotateFlipType)
Извършване на ротация, плъзгане или и двете на активната рамка изключително.прилага трансформациите единствено към текущата активна рамка на изображението,запазване на целостта на другите рамки в последователността.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Типът на ротирания флип.
Examples
Този пример зарежда GIF изображение, го върти на 90 градуса и опционално флипира изображението хоризонтално и/или вертикално.
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)
Съхранява данните.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Потокът за съхранение на данните.
SetFrameTime(Ушорт)
Регулира продължителността на всяка рамка в милисекунди, осигурявайки последователно времепрез цялата последователност на изображението. този метод едностранно определя времето завсяка рамка, позволяваща точен контрол върху скоростта на анимацията.Промяната на тази стойност ще възстанови закъснението за всички рамки.
public void SetFrameTime(ushort time)
Parameters
time
ushort
Продължителността на рамката в милисекунди.
UpdateDimensions(в, в)
Актуализирайте измеренията на изображението.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Новото изображение с широчина.
newHeight
int
Новата снимка е на височина.