Class GifImage
Названий на: Aspose.Imaging.FileFormats.Gif Асамблея: Aspose.Imaging.dll (25.4.0)
API для формату графічного обміну (GIF) зображення файлу надаєрозробники з різноманітними інструментами для обробки компресованих растерних зображень таАнімаційні GIF. пропонує функції, такі як обробка метадатів XMP, палет кольорівналаштування, фонові та прозорі кольорові керування, настройки безперервності, переміщення,вирощування, застосування фільтра, гамма-корекції, контрастна адаптація, грейскалеперетворення і конвертація в інші формати.Цей 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. GifImage з визначеними параметрами дляПерша рамка і глобальна палетка. почати керувати зображеннями GIF швидко, забезпечуючиточне представлення з персоналізованими налаштуваннями для оптимальних результатів.
public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette)
Parameters
firstFrame
GifFrameBlock
Перша рамка для ініціалізації зображення GIF з.
globalPalette
IColorPalette
Зауважимо, що якщо як firstFrame’ і <code class=paramaf">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.
GifImage(GifFrameBlock)
Створення зображень GIF стає непростим з Aspose.Imaging.FileFormats.Gif.тільки з першим параметром Frame, він входить в світ динамікиВізуальна комунікація .
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-ілюстрацію з окремих блоків.
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, byte, байт, боол)
Почніть без зусиль з конструктором Aspose.Imaging.FileFormats.Gif.Простий метод, ви можете зануритися в створення анімаційних 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=paramaf">globalPalette’ є нулями, то використовується стандартна глобальна палетка.
isPaletteSorted
bool
Зауважимо, що параметр використовується, коли globalPalette" не нуль.
paletteColorResolution
byte
Зауважимо, що параметр використовується, коли globalPalette’ не нуль.
paletteBackgroundColorIndex
byte
Індекс кольору фону палету.
aspectRatio
byte
Актуальний аспект відношення.
hasTrailer
bool
Якщо налаштуватися на “правдивий” зображення GIF має трейлер інакше не тралейбус написаний в кінці потоку.
Exceptions
firstFrame’ не може бути нульовим
firstFrame’ вже належить до деякого іншого зображення.
Визначена globalPalette’ повинна містити кількість записів, що дорівнює потужності 2.
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-ілюстрацію з окремих блоків.
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(плавання, плавання, плавання)
Гамма-корекція зображення застосовує нелінійну адаптацію до піксельних значень,підвищення або зменшення яскравості на основі визначених коефіцієнтів для червоного кольору;зелені, і блакитні канали. цей метод допомагає втілити рівновагу кольорів іосвітлення зображення, що покращує його загальний вигляд і якість зору.
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(подвійний)
Бінаризація зображення за допомогою алгоритму адаптивної межі БрэдліIntegral image thresholding - це метод конвертації графічного зображення вЦей алгоритм розраховує місцевий прапор для кожного пікселя на основісередня інтенсивність оточуючих пікселів в певному вікні.адаптивне регулювання прага на основі місцевих піксельних інтенсивності, БредліМетод ефективний у справі з відмінностями світла і контрасту по всьому зображенню.
public override void BinarizeBradley(double brightnessDifference)
Parameters
brightnessDifference
double
Різниця в яскравості між пікселем і середнім вікном с x с пікселів, зосереджених навколо цього пікселя.
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()
Бінаризація зображення за допомогою діапазону 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(Створення Metod, 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,Результат зображення буде правильно структурований і сумісний з переглядом 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(ІНТ, ІНТ, ІНТ, ІНТ)
Пропорційне відновлення підтримує аспектний відсоток зображення при налаштуванні його розміру, що забезпечує, щоб картина не виглядала розтягнутою або деформованою.Ця методологія пропорційно резизує образ, розмірюючи як ширину, так і висоту за одним і тим же фактором.Пропорційний резіз буде ресизувати кожну рамку відповідно до співвідношення newWidth’/width і
newHeight'.
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
Висота нової зображення.