Class GifImage
Pôvodný názov: Aspose.Imaging.FileFormats.Gif Zhromaždenie: Aspose.Imaging.dll (25.4.0)
API pre grafický formát (GIF) obrazový súbor poskytujevývojári s rôznorodými nástrojmi na spracovanie komprimovaných rasterových obrazov aanimované GIF. ponúka funkcie ako XMP spracovanie metadata, farebná paletanastavenia, pozadie a transparentná kontrola farieb, nastavenie opacity, resize,crop, aplikácia filtra, gamma korekcie, kontrastné úpravy, grayscaletransformácia, a konverzia do iných formátov. Táto API umožňuje bezchybnémanipulácia a zlepšovanie GIF obrázkov pre širokú škálu aplikácií.
[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
Z dedičných členov
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
Export časti animácie z GIF obrazu na základe časového intervalu.
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);
}
Tento príklad ukazuje, ako vytvoriť GIF obrázok a uložiť ho do súboru.
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");
}
}
Vytvorte viacstránkový GIF snímok pomocou jednorazových obrázkov.
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(Spoločnosť GifFrameBlock, IColorPalette)
Inštalujte nový objekt Aspose.Imaging.FileFormats.Gif. GifImage s špecifikovanými parametrami preprvý rám a globálna paleta. Začať spravovať GIF obrázky rýchlo, zabezpečiťpresná reprezentácia s prispôsobiteľnými nastavením pre optimálne výsledky.
public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette)
Parameters
firstFrame
GifFrameBlock
Prvý rám na inicializáciu gif obrázok s.
globalPalette
IColorPalette
Upozorňujeme, že ak sú obaja firstFrame’ a <code class=paranf">globalPalette’ nulové, potom sa používa predvolená globálna paleta.
Examples
Tento príklad ukazuje, ako vytvoriť GIF obrázok s vlastnou paletou a uložiť ho do súboru.
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’ nemôže byť nulový
firstFrame’ už patrí k inému obrazu.
globalPalette’ špecifikovaný by mal obsahovať počtu záznamov rovnať výkonu 2. Minimálna veľkosť palety je 2, maximálne je 256.
GifImage(GifFrameBlock)
Vytvorenie GIF obrázkov sa stáva bez námahy s Aspose.Imaging.FileFormats.Gif.s prvým parametrom Frame, vstupuje do dynamického svetaVizuálna komunikácia
public GifImage(GifFrameBlock firstFrame)
Parameters
firstFrame
GifFrameBlock
Prvý rám na inicializáciu gif obrázok s.
Examples
Tento príklad ukazuje, ako vytvoriť GIF obrázok a uložiť ho do súboru.
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");
}
}
Nasledujúci príklad ukazuje, ako skombinovať animovaný GIF obrázok z jednotlivých gIF blokov.
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’ nemôže byť nulový
firstFrame’ už patrí k inému obrazu.
Uvedená paleta musí obsahovať počítanie záznamov rovná sa napájaniu 2. Minimálna veľkosť palety je 2, maximálna je 256.
GifImage(GifFrameBlock, IColorPalette, Bool, Byte, Byt, byte a bool)
Začnite bez námahy s Aspose.Imaging.FileFormats.Gif. GifImage konštruktor.jednoduchá metóda, môžete sa ponoriť do vytvárania animovaných GIF s ľahkosťou.firstFrame, globalPalette, paletteColorResolution, aspectRatio, a ďalšieparametre, a ste pripravení priniesť svoje vizuály do života.
public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette, bool isPaletteSorted, byte paletteColorResolution, byte paletteBackgroundColorIndex, byte aspectRatio, bool hasTrailer)
Parameters
firstFrame
GifFrameBlock
Prvý rám na inicializáciu gif obrázok s.
globalPalette
IColorPalette
Upozorňujeme, že ak sú obaja firstFrame’ a <code class=paranf">globalPalette’ nulové, potom sa používa predvolená globálna paleta.
isPaletteSorted
bool
v prípade nastavenia na “skutočný” je paleta usporiadaná.Upozorňujeme, že parameter sa používa, keď globalPalette" nie je nulový.
paletteColorResolution
byte
Upozorňujeme, že parameter sa používa, keď globalPalette’ nie je nulový.
paletteBackgroundColorIndex
byte
Paleta farebný index pozadia.
aspectRatio
byte
Z hľadiska vzťahu.
hasTrailer
bool
ak je nastavený na “skutočný” gif obrázok má trailer inak žiadny trailer napísaný na konci prúdu.
Exceptions
firstFrame’ nemôže byť nulový
firstFrame’ už patrí k inému obrazu.
globalPalette’ špecifikovaný by mal obsahovať počtu záznamov rovnať výkonu 2. Minimálna veľkosť palety je 2, maximálne je 256.
Properties
ActiveFrame
Správa a manipulácia rámov s touto vlastnosťou, čo umožňuje hladkú navigáciu amodifikácia aktívneho rámu v GIF obraze.
public GifFrameBlock ActiveFrame { get; set; }
Hodnota nehnuteľnosti
Examples
Nasledujúci príklad ukazuje, ako odstrániť všetky bloky z GIF obrazu.
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
Správa farby pozadia obrazu GIF s touto vlastnosťou. môžete nastaviť alebozískať farbu pozadia, aby sa zabezpečila konzistencia a zvýšila vizuálna atrakcia.
public override Color BackgroundColor { get; set; }
Hodnota nehnuteľnosti
BackgroundColorIndex
Ovládanie farebného indexu pozadia obrazu GIF pomocou tejto vlastnosti.získať index na udržanie konzistencie alebo dosiahnuť požadované vizuálne efekty.
public byte BackgroundColorIndex { get; set; }
Hodnota nehnuteľnosti
Blocks
Získajte prístup k blokom GIF bezprostredne s touto vlastnosťou, čo uľahčuje jednoduchéZískanie a manipulácia s podkladovými datovými štruktúrami obrazu.
public IGifBlock[] Blocks { get; }
Hodnota nehnuteľnosti
IGifBlock []
FileFormat
Obnoviť formát súboru bez námahy s touto vlastnosťou.pre identifikáciu formátu súborov. bezproblémovo integrované do vášho pracovného toku,Poskytuje dôležité informácie bez akéhokoľvek hassle.
public override FileFormat FileFormat { get; }
Hodnota nehnuteľnosti
HasBackgroundColor
Táto vlastnosť určuje, či obrázok GIF obsahuje farbu pozadia.pravda, naznačuje, že obrázok obsahuje farbu pozadia.
public override bool HasBackgroundColor { get; }
Hodnota nehnuteľnosti
HasTrailer
Správa prítomnosti trailer vo vašich GIF súboroch s touto vlastnosťou.je potrebné skontrolovať, či trailer existuje alebo nastaviť jeho prítomnosť, táto vlastnosť zjednodušujeUdržujte svoje GIF súbory štruktúrované a v súlade s touto intuitívnou funkciou.
public bool HasTrailer { get; set; }
Hodnota nehnuteľnosti
HasTransparentColor
Určiť, či aktívny rám obrazu GIF obsahuje transparentnú farbu.Táto nehnuteľnosť poskytuje pohodlný spôsob, ako skontrolovať transparentnosť vo vnútri obrazu.
public override bool HasTransparentColor { get; set; }
Hodnota nehnuteľnosti
ImageOpacity
Odstrániť opacitu aktívneho rámu v obraze, ponúkajúce vnímaniejeho úroveň transparentnosti. Táto vlastnosť je obzvlášť užitočná pre pochopeniestupeň transparentnosti alebo nečistoty aktívneho rámu v obraze.
public override float ImageOpacity { get; }
Hodnota nehnuteľnosti
IsInterlaced
Určuje, či je obrázok prepojený, čo ovplyvňuje jeho displej počas nabíjania.majetok poskytuje vnímanie v správaní obrazu, ktoré je nevyhnutné preoptimalizácia stratégií nabíjania a zlepšenie celkovej skúsenosti s zobrazením.
public bool IsInterlaced { get; }
Hodnota nehnuteľnosti
IsPaletteSorted
Ovládajte sortu palety vo vašich GIF obrázkoch pomocou tejto vlastnosti.musíte skontrolovať, či je paleta usporiadaná alebo nastaviť porovnanie správania, totomajetok poskytuje jednoduchý spôsob, ako spravovať paletu organizácie vo vašejsúbory GIF.
public bool IsPaletteSorted { get; set; }
Hodnota nehnuteľnosti
LoopsCount
Odstráňte počítanie priečinkov bez námahy s touto vlastnosťou. ak váš GIF obrázok obsahujeinformácie o krúžku, táto nehnuteľnosť vám dáva rýchly prístup k počtu krúpov, čo umožňujemôžete bezproblémovo spravovať behavior v súboroch GIF.
public int LoopsCount { get; set; }
Hodnota nehnuteľnosti
PageCount
Obnoviť celkový počet stránok obsiahnutých v obrázku s týmtoideálny pre rýchle posúdenie rozsahu obsahu obrazu.
public override int PageCount { get; }
Hodnota nehnuteľnosti
Pages
získať prístup k stránkam vo vnútri obrazu prostredníctvom tohto pohodlného majetku,umožňujú bezproblémovú navigáciu a manipuláciu s jednotlivými stránkami podľa potreby.
public override Image[] Pages { get; }
Hodnota nehnuteľnosti
Image []
PaletteColorResolutionBits
Správa farebného rozlíšenia palety vašich GIF obrázkov s touto vlastnosťou.počet bitov používaných na reprezentáciu farieb v palete, ktoré poskytujú jemnú kontrolunad farebnú hĺbku a kvalitu obrazu.
public byte PaletteColorResolutionBits { get; set; }
Hodnota nehnuteľnosti
PixelAspectRatio
Správa pixelového vzhľadu obrazu GIF s touto vlastnosťou. nastaviť alebo získaťAspektový pomer na zabezpečenie presného renderovania a udržanie vizuálnej vernosti.
public byte PixelAspectRatio { get; set; }
Hodnota nehnuteľnosti
TransparentColor
Obnoviť transparentnú farbu aktívneho rámu v obraze GIF.umožňuje prístup k špecifickej farbe, ktorá bola označená ako transparentnáv súčasnej aktívnej podobe.
public override Color TransparentColor { get; }
Hodnota nehnuteľnosti
XmpData
Správa metadata XMP s touto vlastnosťou. či získate existujúce metadatáalebo ho aktualizovať s novými informáciami, táto nehnuteľnosť zjednodušuje proces.vaše metadata organizované a prístupné, zabezpečiť, aby vaše súbory obsahovalirelevantné informácie, ktoré potrebujú.
public override XmpPacketWrapper XmpData { get; set; }
Hodnota nehnuteľnosti
Methods
AddBlock(IGIFBlock →)
Pridanie nového bloku GIF umožňuje zahrnúť ďalšie údaje do obrazu.Táto metóda vám umožní pripojiť vlastné bloky k obrázku GIF, ktorý môžeObsahuje rôzne typy informácií.
public void AddBlock(IGifBlock block)
Parameters
block
IGifBlock
Blok GIF je k dispozícii.
Examples
Nasledujúci príklad ukazuje, ako skombinovať animovaný GIF obrázok z jednotlivých gIF blokov.
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)
Integrujte novú stránku do existujúceho obrazu, čím sa zlepšuje jeho obsaha rozšíriť jeho rozsah. Táto metóda zvýšenie obrázkových zbierok s ďalšímiobsah, podporuje kreativitu a flexibilitu v oblasti správy obrazu a kompozície.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
Stránka na pridanie.
Examples
Vytvorte viacstránkový GIF snímok pomocou jednorazových obrázkov.
static void Main(string[] args)
{
// Load frames
var frames = LoadFrames("Animation frames").ToArray();
// Create GIF image using the first frame
using (var image = new GifImage(new GifFrameBlock(frames[0])))
{
// Add frames to the GIF image using the AddPage method
for (var index = 1; index < frames.Length; index++)
{
image.AddPage(frames[index]);
}
// Save GIF image
image.Save("Multipage.gif");
}
}
private static IEnumerable<rasterimage> LoadFrames(string directory)
{
foreach (var filePath in Directory.GetFiles(directory))
{
yield return (RasterImage)Image.Load(filePath);
}
}</rasterimage>
Exceptions
page’ is null.
AdjustBrightness(int)
Prispôsobuje jas obrazu podľa špecifikovaného parametra jasnosti . Táto metóda uniformne upravuje svetlosť celého obrázku, čím sa zvyšuje alebo znižuje celková jasnosť, aby sa dosiahol požadovaný efekt.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Hodnoty jasnosti .
Examples
Nasledujúci príklad vykonáva jasnú korekciu GIF obrazu.
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(flotila)
Upravuje kontrast obrazu, zvyšuje alebo znižuje rozdiel vjasnosť medzi pixelmi. táto metóda upravuje celkový tónový rozsah obrazu,Tmavejšie oblasti tmavšie a jasnejšie oblasti svetlejšie pre zvýšenie vizuálnej jasnostia detaily .
public override void AdjustContrast(float contrast)
Parameters
contrast
float
kontrastná hodnota (v rozmedzí [-100; 100])
Examples
Nasledujúci príklad vykonáva kontrastnú korekciu GIF obrazu.
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
Nemôže sa zmeniť kontrast. Frame index: " + frameIndex
AdjustGamma(flotila)
Zlepšuje kvalitu obrazu aplikáciou gamma korekcie.Táto metóda upravuje farbugamma obrazu na dosiahnutie optimálnej vizuálnej jasnosti. zmení hodnotu gamaz každého pixel, čo vedie k zlepšeniu farebnej renderizácie a celkovému vzhľadu obrazu.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Gamma pre červené, zelené a modré kanály koeficient
Examples
Nasledujúci príklad vykonáva gamma korekciu GIF obrazu.
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(plavba, plavba, plavba)
Gamma-korekcia obrazu sa vzťahuje na nelineárnu úpravu hodnôt pixelov,zvýšenie alebo zníženie jasu na základe špecifikovaných koeficientov pre červenú,zelené a modré kanály. táto metóda pomáha jemne tónovať farebnú rovnováhu aosvetlenie obrazu, zlepšenie jeho celkového vzhľadu a vizuálnej kvality.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma pre červený kanál koeficient
gammaGreen
float
Gamma pre zelený kanál koeficient
gammaBlue
float
Gamma pre modrý kanál koeficient
Examples
Nasledujúci príklad vykonáva gamma korekciu obrazu GIF, ktorý aplikuje rôzne koeficienty na farebné komponenty.
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(Dvojitý)
Binarizácia obrazu pomocou adaptívneho prahového algoritmu Bradleyho sIntegrálne hranice obrazu je metóda pre konverziu obrazovej škály doTento algoritmus vypočíta lokálny prah pre každý pixel na základepriemerná intenzita okolitých pixelov v určitom okne.adaptívne prispôsobenie prahu na základe miestnych pixelových intenzit, BradleyMetóda je účinná pri riešení variácií osvetlenia a kontrastu v obraze.
public override void BinarizeBradley(double brightnessDifference)
Parameters
brightnessDifference
double
Rozdiel jasu medzi pixelom a priemerným oknom s x s pixelov sústredených okolo tohto pixelov.
BinarizeFixed(byte)
Binarizácia obrazu s preddefinovaným prahom konvertuje šedú škálu alebo farbuobrázok do binárneho obrazu, kde je každý pixel klasifikovaný ako čierny alebo bielyzávisí od toho, či jeho intenzita presahuje stanovenú hranicu.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Ak je príslušná šedá hodnota pixelov väčšia ako hraničná hodnota, hodnota 255 sa jej priradí, 0 inak.
Examples
Nasledujúci príklad binarizuje GIF obrázok s preddefinovaným prahom. binárne obrázky obsahujú iba 2 farby - čierna a biela.
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()
Binarizácia obrazu s rozsahom Otsu je metóda používaná na automatickéurčiť optimálnu hraničnú hodnotu pre konverziu obrazovej škály nabinárny obrázok. algoritmus Otsu prahu vypočíta prah, ktorýminimalizuje intra-klasovú variáciu intenzity pixelov v dvoch výslednýchtriedy (predhraničné a pozadie). táto technika je obzvlášť užitočná, keďoptimálna hraničná hodnota nie je známa a musí sa určiť prispôsobivým spôsobomna histograme obrazu.
public override void BinarizeOtsu()
Examples
Nasledujúci príklad binarizuje GIF obrázok s Otsu hranice. binárne obrázky obsahujú iba 2 farby - čierna a biela.
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()
Odstránenie všetkých GIF blokov odstraňuje všetky existujúce údaje uložené v obraze.Táto operácia efektívne obnovuje obrázok do prázdneho stavu a odstraňuje všetkypredtým pridané bloky. Použite túto metódu, keď potrebujete začať čerstvé s čistouSlate na vytvorenie alebo úpravu GIF obrazu.
public void ClearBlocks()
Examples
Nasledujúci príklad ukazuje, ako odstrániť všetky bloky z GIF obrazu.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
using (Aspose.Imaging.FileFormats.Gif.GifImage gifImage = new Aspose.Imaging.FileFormats.Gif.GifImage(firstBlock))
{
if (gifImage.ActiveFrame != null)
{
System.Console.WriteLine("Active frame size: {0}", gifImage.ActiveFrame.Size);
}
else
{
System.Console.WriteLine("Active frame is not set");
}
System.Console.WriteLine("Clear all the blocks");
gifImage.ClearBlocks();
if (gifImage.ActiveFrame != null)
{
System.Console.WriteLine("Active frame size: {0}", gifImage.ActiveFrame.Size);
}
else
{
System.Console.WriteLine("Active frame is not set");
}
}
// The output looks like this:
// Active frame size: { Width = 100, Height = 100}
// Clear all the blocks
// Active frame is not set
Crop(Rectangle)
Výroba obrazu pomocou špecifikovanej obdĺžnikovej oblasti. Táto operácia odstraňuje vonkajšiečasť obrazu, ktorá opúšťa iba vybranú oblasť definovanú rektanglom.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
v pravom rohu.
Examples
Nasledujúci príklad obsahuje GIF obrázok. Oblasť vykopávky sa určuje prostredníctvom 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(DitheringMetóda, int, IColorPalette)
Aplikujte sa na aktuálny obrázok.Tento proces zvyšuje kvalitu obrazu prostredníctvomzníženie farebného zväzku a zlepšenie prechodov farieb, čo vedie k hladšeja vzhľadom.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Metóda rozptýlenia .
bitsCount
int
Posledné bity počítajú na dithering.
customPalette
IColorPalette
Zvyčajná paleta pre dithering.
Examples
Nasledujúci príklad nahráva GIF obrázok a vykonáva hraničné a plynulé dithering pomocou rôznych hĺbok palety.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Perform threshold dithering using 4-bit color palette which contains 16 colors.
// The more bits specified the higher quality and the bigger size of the output image.
// Note that only 1-bit, 4-bit and 8-bit palettes are supported at the moment.
gifImage.Dither(Aspose.Imaging.DitheringMethod.ThresholdDithering, 4, null);
gifImage.Save(dir + "sample.ThresholdDithering4.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Perform floyd dithering using 1-bit color palette which contains only 2 colors - black and white.
// The more bits specified the higher quality and the bigger size of the output image.
// Note that only 1-bit, 4-bit and 8-bit palettes are supported at the moment.
gifImage.Dither(Aspose.Imaging.DitheringMethod.FloydSteinbergDithering, 1, null);
gifImage.Save(dir + "sample.FloydSteinbergDithering1.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Filter(Rectangle, FilterOptionsBase)
Aplikujte špecifický filter na určenú oblasť obrazu, čím sa zlepšuje jeho vizuálnekvalita alebo zmeniť svoj vzhľad podľa potreby. táto metóda selektívne spracovávapixelov v definovanom rektáloch, ktoré umožňujú cieľové úpravyzachovanie integrity okolitých údajov o obraze.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
v pravom rohu.
options
FilterOptionsBase
a možnosťami .
Examples
Nasledujúci príklad sa vzťahuje na rôzne typy filtrov na GIF obrázok.
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()
Obnoviť pôvodné možnosti založené na nastaveniach súborov, ktoré sú kľúčové pre udržanie vernostia konzistencia v spracovaní obrazu a manipulácii. Táto metóda umožňuje bezchybnéIntegrovanie špecifických parametrov súboru do následných operácií, zabezpečeniepresné vydanie a dodržiavanie vnútorných charakteristík obrazu.To môže byť užitočné udržať bitovú hĺbku a ďalšie parametre pôvodného obrazu nezmenené.Napríklad, ak nahrávame čiernobiely PNG obrázok s 1 bitom na pixel a potom ho uložíme pomocouAspose.Imaging.DataStreamSupporter.Save(System.String) metóda, bude produkovaný výstupný PNG obrázok s 8-bitom na pixel.Aby ste sa tomu vyhli a ušetrili PNG obrázok s 1 bitom na pixel, použite túto metódu, aby ste získali príslušné možnosti ušetrenia a prešli ichna metódu Aspose.Imaging.Image.Save(System.String,_Wl17.ImageOptionsBase) ako druhý parameter.
public override ImageOptionsBase GetOriginalOptions()
Returns
Možnosti založené na pôvodných nastaveniach súboru.
Grayscale()
Premenou obrazu na jeho šedivú reprezentáciu sa mení farbaobrázok do grafickej verzie odstránením farebných informácií pri zachovaníTento proces zjednodušuje obraz na odtiene šedej, čo ho robí vhodnýmpre rôzne aplikácie, ako je tlač, spracovanie dokumentov a grayscalev analýze .
public override void Grayscale()
Examples
Nasledujúci príklad transformuje farebný GIF obrázok do jeho šedivého obrazu. Grayscale obrázky sú zložené výlučne z odtieňov sivého a nesú iba intenzitu informácií.
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(Inštalácia, IGifBlock)
Vloženie nového bloku GIF umožňuje pridať prispôsobené údaje v konkrétnej poloheTáto metóda umožňuje umiestniť vlastné bloky na požadovanúumiestnenie v obraze GIF, čo poskytuje flexibilitu pri organizovaní a štruktúrovaníObrázkové údaje .
public void InsertBlock(int index, IGifBlock block)
Parameters
index
int
element založený na nule, do ktorého bloku sa vloží.
block
IGifBlock
Blok GIF je k dispozícii.
OnPaletteChanged(Spoločnosť IColorPalette)
Volá sa, keď sa paleta mení.
protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
Stará paleta
newPalette
IColorPalette
a novú paletu.
OnPaletteChanging(Spoločnosť IColorPalette)
Volá sa, keď sa paleta mení.
protected override void OnPaletteChanging(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
Stará paleta
newPalette
IColorPalette
a novú paletu.
OrderBlocks()
Nariadenie blokov GIF podľa špecifikácie Gif zabezpečuje správne gIFrozloženie a dodržiavanie štandardov. tento proces zahŕňa usporiadaniebloky v správnej sekvencii, ako je definované špecifikáciou.môže zahŕňať odstránenie určité Aspose.Imaging.FileFormats.Gif.Blocks. GifGraphicsControlBlock príklady, ktorénie sú potrebné pre konečný rozloženie. dodržiavaním špecifikácie GIF,výsledný obrázok bude správne štruktúrovaný a kompatibilný s GIF zobrazeníma aplikácie .
public void OrderBlocks()
RemoveBlock(IGIFBlock →)
Odstránenie bloku GIF odstraňuje konkrétne údaje z obrazu, ponúka možnosťčistiť alebo zmeniť štruktúru obrazu. Táto metóda umožňuje odstrániť nežiaducealebo zbytočné bloky, optimalizácia GIF obrazu pre efektívne ukladanie.funkčnosť na odstránenie zastaraných informácií z obrazu pri zachovaníJeho kvalita a integrita.
public void RemoveBlock(IGifBlock block)
Parameters
block
IGifBlock
Blok na odstránenie.
Remarks
Poznámka: Nezabudnite umiestniť blok, ak ho nebudete pridávať do niektorých ďalších GifImage.
Resize(int, int, resizeType)
Obnoviť tento Aspose.Imaging.Image príklad.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
a novú šírku.
newHeight
int
a novú výšku.
resizeType
ResizeType
To je reza typ.
Examples
Tento príklad nahráva GIF obrázok a recenzuje ho pomocou rôznych metód recenzií.
string dir = "c:\\temp\\";
using (Aspose.Imaging.FileFormats.Gif.GifImage image = (Aspose.Imaging.FileFormats.Gif.GifImage)Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
// Scale up by 2 times using Nearest Neighbour resampling.
image.Resize(image.Width* 2, image.Height* 2, Aspose.Imaging.ResizeType.NearestNeighbourResample);
image.Save(dir + "upsample.nearestneighbour.gif");
}
using (Aspose.Imaging.FileFormats.Gif.GifImage image = (Aspose.Imaging.FileFormats.Gif.GifImage)Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
// Scale down by 2 times using Nearest Neighbour resampling.
image.Resize(image.Width / 2, image.Height / 2, Aspose.Imaging.ResizeType.NearestNeighbourResample);
image.Save(dir + "downsample.nearestneighbour.gif");
}
using (Aspose.Imaging.FileFormats.Gif.GifImage image = (Aspose.Imaging.FileFormats.Gif.GifImage)Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
// Scale up by 2 times using Bilinear resampling.
image.Resize(image.Width* 2, image.Height* 2, Aspose.Imaging.ResizeType.BilinearResample);
image.Save(dir + "upsample.bilinear.gif");
}
using (Aspose.Imaging.FileFormats.Gif.GifImage image = (Aspose.Imaging.FileFormats.Gif.GifImage)Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
// Scale down by 2 times using Bilinear resampling.
image.Resize(image.Width / 2, image.Height / 2, Aspose.Imaging.ResizeType.BilinearResample);
image.Save(dir + "downsample.bilinear.gif");
}
Resize(int, int, ImageResizeSettings)
Obnoviť tento Aspose.Imaging.Image príklad.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
a novú šírku.
newHeight
int
a novú výšku.
settings
ImageResizeSettings
a nastavenia .
Examples
Tento príklad nahráva GIF obrázok a resizuje ho pomocou rôznych resizing nastavení.
string dir = "c:\\temp\\";
Aspose.Imaging.ImageResizeSettings resizeSettings = new Aspose.Imaging.ImageResizeSettings();
// The adaptive algorithm based on weighted and blended rational function and lanczos3 interpolation.
resizeSettings.Mode = Aspose.Imaging.ResizeType.AdaptiveResample;
// The small rectangular filter
resizeSettings.FilterType = Aspose.Imaging.ImageFilterType.SmallRectangular;
// The number of colors in the palette.
resizeSettings.EntriesCount = 256;
// The color quantization is not used
resizeSettings.ColorQuantizationMethod = ColorQuantizationMethod.None;
// The euclidian method
resizeSettings.ColorCompareMethod = ColorCompareMethod.Euclidian;
using (Aspose.Imaging.Image image = (Aspose.Imaging.Image)Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Scale down by 2 times using adaptive resampling.
gifImage.Resize(image.Width / 2, image.Height / 2, resizeSettings);
// Save to PNG
gifImage.Save(dir + "downsample.adaptive.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
ResizeFullFrame(int, int, resizeType)
Obnovenie obrazu pri zohľadnení plných rámov pre každú stránku vGIF, čím sa zabránilo vzniku potenciálnych artefaktov. táto metóda je nevyhnutnána zachovanie integrity a kvality obrazu, najmä pri riešeníanimované GIF alebo sekvencie rámov.
public void ResizeFullFrame(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
a novú šírku.
newHeight
int
a novú výšku.
resizeType
ResizeType
To je reza typ.
ResizeProportional(int, int, resizeType)
Proporcionálne rezanie zachováva aspektový pomer obrazu pri prispôsobovaní jeho veľkosti, aby sa zabezpečilo, že obraz nevyzerá roztiahnutý alebo zvrátený. Táto metóda rezuje obrázok proporcionálne, škálovanie oboch šírky a výšky rovnakým faktorom.Proporcionalné resize bude rezovať každý rám podľa pomeru newWidth’/width a
newHeight’ / height.
public void ResizeProportional(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
a novú šírku.
newHeight
int
a novú výšku.
resizeType
ResizeType
To je reza typ.
Rotate(Float, bool, farba)
Táto metóda otáča obrázok okolo jeho stredného bodu.uhol, môžete otáčať obrázok hodinovo alebo protihodinovo, aby ste dosiahliTáto rotácia pomáha prispôsobiť prezentáciu obrazu aleboZjednodušenie bez toho, aby sa zhoršil jeho obsah.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
Zvuk sa otáča v stupňoch. pozitívne hodnoty sa otáčajú hodinovo.
resizeProportionally
bool
v prípade nastavenia na “skutočné” sa zmení veľkosť obrazu podľa rotujúcich rektangulárnych (kornových bodov) projekcií v inom prípade, ktoré zanechávajú rozmery bez dotyku a ibavnútorné obrázkové obsahu sa rotuje.
backgroundColor
Color
Farba z pozadia.
RotateFlip(RotateFlipType)
Vykonajte otáčanie, flipping alebo oboje na aktívnom rámu výlučne.uplatňuje transformácie výlučne na súčasne aktívny rám obrazu,zachovanie integrity ostatných rámov v sekvencii.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Rotačný typ flip.
Examples
Tento príklad nahrádza GIF obrázok, otáča ho o 90 stupňov na hodinky a voliteľne flips obraz horizontálne a/alebo vertikálne.
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)
Šetrí sa dáta.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Stream na ukladanie údajov.
SetFrameTime(Ťažko)
Upravuje dĺžku každého rámu v milisekundách, čo zabezpečuje konzistentné časovaniepo celej sekvencii obrazu. Táto metóda jednotne nastaví čas zobrazenia prekaždý rám, čo umožňuje presnú kontrolu nad rýchlosťou animácie.Zmena tejto hodnoty obnoví oneskorenie pre všetky rámy.
public void SetFrameTime(ushort time)
Parameters
time
ushort
Doba trvania rámu v milisekundách.
UpdateDimensions(a int, int)
Aktualizujte rozmery obrazu.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Nový obrázok šírka.
newHeight
int
Nová výška obrazu.