Class GifImage
İsim alanı : Aspose.Imaging.FileFormats.Gif Toplantı: Aspose.Imaging.dll (25.4.0)
GIF (Graphical Interchange Format) görüntü dosyasısıkıştırılmış raster görüntüleri işleme için çeşitli araçlar ile geliştiriciler veanimasyon GIF. XMP metadata işleme, renk paleti gibi özellikler sunarayarları, arka plan ve şeffaf renk kontrolü, opacity ayarları, resize,crop, filtre uygulaması, gamma düzeltmeleri, kontrast ayarlaması, grayscaledönüşüm, ve diğer biçimlere dönüşüm. bu API güçlendirmezGeniş bir uygulama için GIF görüntüleri manipüle etmek ve geliştirmek.
[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
mirasçı üyeleri
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
Animasyonun bir kısmının zaman aralığına dayalı GIF görüntüsünden ihraç edilmesi.
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);
}
Bu örnek, bir GIF görüntüsünü nasıl oluşturacağınızı ve bir dosyaya kaydedeceğinizi gösterir.
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");
}
}
Tek sayfa raster görüntüleri kullanarak çok sayfa GIF görüntüleri oluşturun.
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 ve IColorPalette)
Yeni bir Aspose.Imaging.FileFormats.Gif.GifImage nesnesini belirlenmiş parametrelerle başlatınilk çerçeve ve küresel palet. GIF görüntüleri hızlı bir şekilde yönetmeye başlayın, güvenceOptimum sonuçlar için özelleştirilebilir ayarlar ile doğru temsil.
public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette)
Parameters
firstFrame
GifFrameBlock
İlk çerçeve ile gif görüntüsünü başlatmak için.
globalPalette
IColorPalette
Kullanılacak küresel palet. not firstFrame’ ve
globalPalette’ null ise varsayılan küresel palet kullanılır.
Examples
Bu örnek, özelleştirilmiş bir palet ile bir GIF görüntüsü nasıl oluşturulur ve bir dosyaya kaydedilir.
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’ sıfır olamaz
firstFrame’ zaten başka bir görüntüye aittir.
globalPalette’ belirtilen içeriği içermelidir giriş sayımı güç eşittir 2. Minimum palet büyüklüğü 2, maksimum 256.
GifImage(GifFrameBlock)
GIF görüntüleri oluşturmak Aspose.Imaging.FileFormats.Gif.GifImage ile çaba sarf etmez hale gelirSadece ilkFrame parametresi ile, dinamik bir dünyaya girer.Görsel iletişim için.
public GifImage(GifFrameBlock firstFrame)
Parameters
firstFrame
GifFrameBlock
İlk çerçeve ile gif görüntüsünü başlatmak için.
Examples
Bu örnek, bir GIF görüntüsünü nasıl oluşturacağınızı ve bir dosyaya kaydedeceğinizi gösterir.
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");
}
}
Aşağıdaki örnek, bireysel GIF bloklarından animasyonlu bir GIF görüntüsünü nasıl oluşturacağınızı gösterir.
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’ sıfır olamaz
firstFrame’ zaten başka bir görüntüye aittir.
Belirlenen palet, 2’nin gücüne eşit sayım sayısını içermelidir. minimum palet büyüklüğü 2’dir, maksimum 256’dır.
GifImage(GifFrameBlock, IColorPalette, bool, byte, byte, byte, bool)
Aspose.Imaging.FileFormats.Gif.GifImage konstruktörü ile çaba göstermeden başlayın.basit bir yöntem, kolayca animasyonlu GIF’ler oluşturmaya dalabilirsiniz.firstFrame, globalPalette, paletteColorResolution, aspectRatio ve diğerleriParametreler, ve görsellerinizi hayata getirmek için hazırsınız.
public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette, bool isPaletteSorted, byte paletteColorResolution, byte paletteBackgroundColorIndex, byte aspectRatio, bool hasTrailer)
Parameters
firstFrame
GifFrameBlock
İlk çerçeve ile gif görüntüsünü başlatmak için.
globalPalette
IColorPalette
Kullanılacak küresel palet. not firstFrame’ ve
globalPalette’ null ise varsayılan küresel palet kullanılır.
isPaletteSorted
bool
Eğer ‘gerçek’ olarak ayarlanırsa, palet sınıflandırılır. globalPalette’ sıfır olmadığında parametresi kullanılır.
paletteColorResolution
byte
Palet renk çözünürlüğü. globalPalette’ sıfır olmadığında parametresi kullanıldığını belirtin.
paletteBackgroundColorIndex
byte
Palet arka plan renk endeksi.
aspectRatio
byte
Aspekt oranı ile ilgili.
hasTrailer
bool
Eğer ‘gerçek’ olarak ayarlanırsa, gif görüntüsü, aksi takdirde akışın sonunda yazılan bir trailer yoktur.
Exceptions
firstFrame’ sıfır olamaz
firstFrame’ zaten başka bir görüntüye aittir.
globalPalette’ belirtilen içeriği içermelidir giriş sayımı güç eşittir 2. Minimum palet büyüklüğü 2, maksimum 256.
Properties
ActiveFrame
Bu özellikle çerçeveleri yönetmek ve manipüle etmek, pürüzsüz navigasyon veGIF görüntü içindeki aktif çerçeve değişikliği.
public GifFrameBlock ActiveFrame { get; set; }
Mülkiyet Değer
Examples
Aşağıdaki örnek, bir GIF görüntüsünden tüm blokları nasıl kaldırılacağını gösterir.
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
Bu özellikle GIF görüntüsünün arka plan rengini yönetin. ayarlayabilir veyatutarlılığı sağlamak ve görsel çekiciliği arttırmak için arka plan rengi alın.
public override Color BackgroundColor { get; set; }
Mülkiyet Değer
BackgroundColorIndex
Bu özellik kullanarak GIF görüntüsünün arka plan renk endeksini kontrol edin.Konsantrasyonu korumak veya istenen görsel efektleri elde etmek için endeksin geri alınması.
public byte BackgroundColorIndex { get; set; }
Mülkiyet Değer
Blocks
Bu mülk ile GIF bloklarına kolayca erişin, kolaylaştırınGörüntünün temel veri yapılarının ele alınması ve manipüle edilmesi.
public IGifBlock[] Blocks { get; }
Mülkiyet Değer
IGifBlock […]
FileFormat
Bu özellikle dosya biçimini çabucak geri getirin.dosyalarınızın biçimini tanımlamak için. iş akışınıza kolayca entegre edilmiş,Önemli bilgileri herhangi bir hassle olmadan sağlar.
public override FileFormat FileFormat { get; }
Mülkiyet Değer
HasBackgroundColor
Bu özellik, GIF görüntüsünün bir arka plan rengi olup olmadığını belirler.Doğru, resmin bir arka plan rengi içerdiğini gösterir.
public override bool HasBackgroundColor { get; }
Mülkiyet Değer
HasTrailer
Bu mülk ile GIF dosyalarınızda bir trailer varlığını yönetin.bir trailer olup olmadığını kontrol etmek veya varlığını ayarlamak gerekir, bu mülkGIF dosyalarınızı bu sezgisel özellikle yapılandırılmış ve uyumlu tutun.
public bool HasTrailer { get; set; }
Mülkiyet Değer
HasTransparentColor
GIF görüntüsünün aktif çerçevesinde şeffaf bir renk olup olmadığını belirleyin.Bu mülk, görüntü içindeki şeffaflığı kontrol etmenin uygun bir yolunu sağlar.
public override bool HasTransparentColor { get; set; }
Mülkiyet Değer
ImageOpacity
Görüntünün içindeki aktif çerçevenin eksiksizliğini geri çekmek, içeriğe bakış açısı sunmakGelişme düzeyi. bu özellik özellikle anlamak için yararlıdırGörüntünün aktif çerçevesinin şeffaflığı veya şeffaflığı.
public override float ImageOpacity { get; }
Mülkiyet Değer
IsInterlaced
Görüntü bağlantılı olup olmadığını belirler, yükleme sırasında görüntüsünü etkiler.Mülkiyet, resmin performans davranışına ilişkin bir anlayış sunar, bu nedenleYükleme stratejilerini optimize etmek ve genel görüntüleme deneyimini geliştirmek.
public bool IsInterlaced { get; }
Mülkiyet Değer
IsPaletteSorted
Bu özellik kullanarak GIF görüntülerinizdeki paletin sınıflandırılmasını kontrol edin.paletin sınıflandırıldığını veya sınıflandırma davranışını ayarladığını kontrol etmeniz gerekir, buMülkiyet, palet organizasyonunu yönetmenin kolay bir yolunu sağlarGIF dosyaları
public bool IsPaletteSorted { get; set; }
Mülkiyet Değer
LoopsCount
Bu özellikle çaba sarf etmeyin. eğer GIF görüntü içeriyorsayuva bilgileri, bu mülk size yuva sayısına hızlı erişim sağlar,GIF dosyalarınızda yuvarlak davranışları kolayca yönetebilirsiniz.
public int LoopsCount { get; set; }
Mülkiyet Değer
PageCount
Bu sayfa ile resmin içindeki sayfaların toplam sayısını geri getirinbasit mülk. görüntü içeriğinin derecesini hızlı bir şekilde değerlendirmek için idealdir.
public override int PageCount { get; }
Mülkiyet Değer
Pages
Bu uygun mülk aracılığıyla görüntü içindeki sayfalara erişmek,İhtiyaç duyulduğunda bireysel sayfaların navigasyonunu ve manipülasyonunu kolaylaştırmak.
public override Image[] Pages { get; }
Mülkiyet Değer
Image […]
PaletteColorResolutionBits
Bu özellikle GIF görüntülerinizin renk çözünürlüğünü yönetin.Palette renklerini temsil etmek için kullanılan bit sayısı, ince kontrol sağlarrenk derinliği ve görüntü kalitesi.
public byte PaletteColorResolutionBits { get; set; }
Mülkiyet Değer
PixelAspectRatio
Bu özellikle GIF görüntüsünün piksel yönü oranını yönetin. ayarlayın veya geri alınDoğru performans sağlamak ve görsel sadakat korumak için yön oranı.
public byte PixelAspectRatio { get; set; }
Mülkiyet Değer
TransparentColor
GIF görüntüsünde aktif çerçevenin şeffaf rengi geri alın. bu özellikŞeffaf olarak tanımlanan belirli renklere erişmenizi sağlar.Şu anda aktif çerçevede.
public override Color TransparentColor { get; }
Mülkiyet Değer
XmpData
Bu özellikle XMP metadata yönetin. mevcut metadata alıyorsanızveya yeni bilgilerle güncellenir, bu mülk süreci hızlandırır.metadata düzenlenmiş ve erişilebilir, dosyalarınızınİhtiyacınız olan önemli bilgiler.
public override XmpPacketWrapper XmpData { get; set; }
Mülkiyet Değer
Methods
AddBlock(IGIFBlock)
Yeni bir GIF blok eklemek, resmin içine ek verileri içermenizi sağlar.Bu yöntem, özelleştirilmiş blokları GIF görüntüsüne bağlamanıza olanak tanır.Çeşitli bilgileri içerir.
public void AddBlock(IGifBlock block)
Parameters
block
IGifBlock
GIF blok eklemek için.
Examples
Aşağıdaki örnek, bireysel GIF bloklarından animasyonlu bir GIF görüntüsünü nasıl oluşturacağınızı gösterir.
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)
Mevcut görüntüye yeni bir sayfa bağlayın, içeriğini geliştirinve kapsamını genişletmek. bu yöntem daha fazla görüntü koleksiyonları ile artırmakiçerik, yaratıcılık ve görüntü yönetimi ve kompozisyon esnekliği teşvik etmek.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
eklemek için sayfa.
Examples
Tek sayfa raster görüntüleri kullanarak çok sayfa GIF görüntüleri oluşturun.
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 ile)
Görüntü parlaklığını belirlenen <kod sınıfı=“paramref”> parlaklık parametresine göre ayarlar. bu yöntem tüm görüntü parlaklığını eşit olarak değiştirir, arzu edilen etkiyi elde etmek için genel parlaklığı arttırır veya azaltır.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Işık değeri.
Examples
Aşağıdaki örnek, bir GIF görüntüsünün parlaklık düzeltmesini gerçekleştirir.
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(Floransa)
Görüntü kontrastını ayarlar, farkı arttırır veya azaltırpiksel arasındaki parlaklık. bu yöntem resmin genel ton aralığını değiştirir,Karanlık alanları daha karanlık ve parlak alanları daha parlak hale getirmek, görsel netliği artırmak içinve ayrıntılar.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Kontrast değeri ( aralığında [-100; 100])
Examples
Aşağıdaki örnek, bir GIF görüntüsünün kontrast düzeltmesini gerçekleştirir.
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
Çerçeve indeksi: " + frameIndex
AdjustGamma(Floransa)
Gamma düzeltme uygulayarak görüntü kalitesini arttırır.Bu yöntem renk ayarlarGörüntü gamma optimum görsel netlik elde etmek için. gamma değerini değiştirirHer piksel, renk performansını ve genel görünümünü iyileştirir.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Kırmızı, yeşil ve mavi kanallar için Gamma
Examples
Aşağıdaki örnek, bir GIF görüntüsünün gamma düzeltmesini gerçekleştirir.
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(Yüzme, Yüzme ve Yüzme)
Bir görüntü gamma düzeltme, piksel değerlerine lineer olmayan bir ayar uygulanır.Kırmızı için belirtilen koefficientlere dayanarak parlaklığı arttırmak veya azaltmak,yeşil ve mavi kanallar. bu yöntem renk dengesini düzeltmeye yardımcı olur veGörüntünün parlaklığı, genel görünümünü ve görsel kalitesini iyileştirir.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Kırmızı Kanal Koşiförü için Gamma
gammaGreen
float
Gamma yeşil kanal koşulları
gammaBlue
float
Mavi Kanal Koefficient için Gamma
Examples
Aşağıdaki örnek, renk bileşenleri için farklı koşulları uygulayan bir GIF görüntüsünün gamma düzeltmesini gerçekleştirir.
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(Çift)
Bir görüntü, Bradley’in adaptatif sınırlandırma algoritmasını kullanarak ikili hale getirir.Integral image thresholding, bir grayscale görüntüsünü bir görüntüye dönüştürme yöntemidir.Bu algoritma, her piksel için bir yerel sınırı hesaplar.etrafındaki piksellerin ortalama yoğunluğu belirli bir pencerede.yerel piksel yoğunluğuna göre sınırı adaptif bir şekilde ayarlamak, Bradley’inYöntem, görüntü boyunca aydınlatma ve kontrast değişikliklerini ele almak için etkilidir.
public override void BinarizeBradley(double brightnessDifference)
Parameters
brightnessDifference
double
Piksel arasındaki parlaklık farkı ve bu piksel etrafında yoğunlaşan bir x s penceresinin ortalaması.
BinarizeFixed(byte)
Bir görüntüyi önceden tanımlanmış bir çerçeve ile ikilileştirmek bir gri veya renk dönüştürürgörüntü bir ikili görüntü, her piksel siyah veya beyaz olarak sınıflandırılıryoğunluk değerinin belirli bir sınırı aştığına bağlı olarak.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Eğer bir pikselin eşdeğer gri değeri sınırın üzerinde ise, ona 255 değer verilir, 0 aksi takdirde.
Examples
Aşağıdaki örnek, önceden tanımlanmış çerçeve ile bir GIF görüntüsünü ikili hale getirir. ikili görüntüler sadece 2 renk içerir - siyah ve beyaz.
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 çerçeve ile bir görüntü ikilileştirme otomatik olarak kullanılan bir yöntemdir.bir grayscale görüntüsünün dönüştürülmesi için optimum sınır değeri belirlenirİkili görüntü. Otsu sınır algoritması, sınırı hesaplarPiksel yoğunluklarının sınıf içindeki değişimi iki sonuçta en aza indirir.Sınıflar (ön ve arka plan) Bu teknik özellikle yararlıdırOptimum sınır değeri bilinmemektedir ve adaptif olarak belirlenmelidir.Görüntünün histografisinde.
public override void BinarizeOtsu()
Examples
Aşağıdaki örnek, Otsu çerçevesi ile bir GIF görüntüsünü ikili hale getirir. ikili görüntüler sadece 2 renk içerir - siyah ve beyaz.
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()
Tüm GIF bloklarının temizlenmesi, görüntü içinde kaydedilen mevcut verileri kaldırır.Bu işlem, görüntüyi boş bir duruma dönüştürür ve herhangi birÖnceden eklenen bloklar. bu yöntemi temiz bir ile taze başlamak gerektiğinde kullanınBir GIF görüntüsünü oluşturmak veya değiştirmek için kaydırın.
public void ClearBlocks()
Examples
Aşağıdaki örnek, bir GIF görüntüsünden tüm blokları nasıl kaldırılacağını gösterir.
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)
Görüntüyü belirlenmiş bir düz açı alanı kullanarak yetiştirin. bu işlem dışarıdan çıkarılırGörüntünün bir kısmı, yalnızca düz açı tarafından tanımlanan seçilmiş bölgeyi bırakır.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
Doğrudan bir şekilde.
Examples
Aşağıdaki örnekte bir GIF görüntüsü toplanır. toplanma alanı Aspose.Imaging.Rectangle aracılığıyla belirtilir.
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(DitheringMethod, int, IColorPalette)
Şimdiki görüntüye yönlendirme uygulayın.Bu süreç görüntü kalitesini artırırrenk bağlanmasını azaltır ve renk geçişlerini iyileştirir, böylece daha pürüzsüzGörünüşü .
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Dithering yöntemini kullanır.
bitsCount
int
Son bitler Dithering için sayılır.
customPalette
IColorPalette
Dithering için geleneksel palet.
Examples
Aşağıdaki örnek bir GIF görüntüsünü yükler ve farklı palet derinliği kullanılarak sınır ve sızıntı dithering yapar.
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)
Görüntünün belirlenmiş alanına özel bir filtre uygulayın, görsel görünümünü geliştirinkalite veya istediği gibi görünümünü değiştirmek. bu yöntem seçici olarak işlenirtanımlanmış düz açı içinde pikseller, hedefli ayarların yapılmasını sağlarAynı zamanda çevreleyen görüntü verilerinin bütünlüğünü korumak.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
Doğrudan bir şekilde.
options
FilterOptionsBase
Seçenekler için.
Examples
Aşağıdaki örnek, bir GIF görüntüsüne çeşitli filtre türleri uygulanır.
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()
Orijinal dosya ayarları tabanlı seçenekleri kurtarmak, sadakat korumak için önemlidirve görüntü işleme ve manipülasyonunda tutarlılık. bu yöntem çarpıcıDosya-sözlü parametrelerin sonraki işlemlere entegre edilmesi,Doğru teslimat ve görüntü içsel özelliklerine bağlılık.Bu, bit derinliği ve orijinal görüntünün diğer parametrelerini değişmez tutmak için yararlı olabilir.Örneğin, bir piksel başına 1 bit ile siyah beyaz bir PNG görüntüsünü yüklerseniz ve sonra kaydedin.Aspose.Imaging.DataStreamSupporter.Save(System.String) yöntemi, piksel başına 8 bit çıkış PNG görüntüsü üretilecektir.Bunu önlemek ve piksel başına 1 bit PNG görüntüsünü kaydetmek için, bu yöntemi uygun tasarruf seçenekleri elde etmek ve bunları geçmek için kullanınAspose.Imaging.Image.Save (System.String,Aspose.Imaging.ImageOptionsBase) yöntemi ikinci parametredir.
public override ImageOptionsBase GetOriginalOptions()
Returns
Orijinal dosya ayarlarına dayalı seçenekler.
Grayscale()
Görüntünün gri ölçekli temsilciliğine dönüştürülmesi rengi dönüştürürGörüntü, renk bilgilerini kaldırarak gri ölçekli bir versiyon haline getirilir.Bu süreç, görüntüyü gri gölgelere kadar basitleştirir, uygun hale getirir.Yazdırma, belge işleme ve grayscale gibi çeşitli uygulamalar içinAnaliz için.
public override void Grayscale()
Examples
Aşağıdaki örnek, renkli bir GIF görüntüsünü gri ölçekli görüntüsüne dönüştürür. gri ölçekli görüntüler yalnızca gri gölgelerden oluşur ve yalnızca yoğunluk bilgileri taşır.
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(İtalya, IGifBlock)
Yeni bir GIF blok eklemek, belirli bir konumda özelleştirilmiş verileri eklemenizi sağlarGörüntü içinde. bu yöntem, istediğiniz bloklarda özelleştirilmiş blokları yerleştirmenizi sağlarGIF görüntüsünde yer, organizasyon ve yapılandırma esnekliği sağlarGörüntü verileri .
public void InsertBlock(int index, IGifBlock block)
Parameters
index
int
Sıfır tabanlı element, hangi blokta yerleştirilecektir.
block
IGifBlock
GIF blok eklemek için.
OnPaletteChanged(İKOLOR, İKOLOR İKOLOR)
Palet değiştirildiğinde arama yapılır.
protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
O eski palet.
newPalette
IColorPalette
Yeni palet için.
OnPaletteChanging(İKOLOR, İKOLOR İKOLOR)
Palet değiştiğinde söylenir.
protected override void OnPaletteChanging(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
O eski palet.
newPalette
IColorPalette
Yeni palet için.
OrderBlocks()
GIF özelliklerine göre GIF bloklarını sipariş etmek doğru GIF’leri sağlardüzenleme ve standart uyumluluğu. bu süreç düzenlemeyi içerirbu ilanı gizle geri yükle bu ilanı gizle geri yükle bu ilanı geri yükleBelirli Aspose.Imaging.FileFormats.Gif.Blocks.GifGraphicsControlBlock örnekleri kaldırmak içerebilirson düzen için gerekli değildir.GIF spesifikasyonuna uymak,sonuçlanan görüntü düzgün bir şekilde yapılandırılır ve GIF görüntüleme ile uyumludurUygulamalar
public void OrderBlocks()
RemoveBlock(IGIFBlock)
Bir GIF blokunun kaldırılması, görüntüden belirli verileri çıkarır, böylecegörüntü yapısını temizlemek veya değiştirmek. bu yöntem istenmeyen kaldırmak için izin verirveya gereksiz bloklar, verimli depolama için GIF görüntüsünü optimize eder.görüntüden geçmiş bilgileri ortadan kaldırmak için işlevselliğiOnların bütünlüğü ve kalitesi.
public void RemoveBlock(IGifBlock block)
Parameters
block
IGifBlock
Blok kaldırmak için.
Remarks
Not: Bloku başka bir GifImage’e eklemeyi unutmayın.
Resize(int, int, resizeType)
Bu Aspose.Imaging.Image örneğini yeniden başlatın.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
Yeni bir genişlik.
newHeight
int
Yeni bir yükseklik.
resizeType
ResizeType
Resize türü vardır.
Examples
Bu örnek bir GIF görüntüsünü yükler ve çeşitli resize yöntemleri kullanılarak resize eder.
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 İndir)
Bu Aspose.Imaging.Image örneğini yeniden başlatın.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
Yeni bir genişlik.
newHeight
int
Yeni bir yükseklik.
settings
ImageResizeSettings
Bu ayarları .
Examples
Bu örnek bir GIF görüntüsünü yükler ve çeşitli geri dönüşüm ayarları kullanılarak yeniden görüntülenir.
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)
Görüntüyü göz önünde bulundurarak, her sayfanın tam çerçevelerini göz önünde bulundurarakGIF, böylece potansiyel eserlerin ortaya çıkmasını önlemek. bu yöntem önemlidirgörüntü kalitesini ve bütünlüğünü korumak, özellikle deAnimasyon GIF veya çerçeve seansları.
public void ResizeFullFrame(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
Yeni bir genişlik.
newHeight
int
Yeni bir yükseklik.
resizeType
ResizeType
Resize türü vardır.
ResizeProportional(int, int, resizeType)
Bu yöntem, görüntüyi orantılı olarak, hem genişliği hem de yüksekliği aynı faktörle ölçer.Bu orantılı resim, her çerçeveyi newWidth’/width ve
newHeight’/height oranına göre yeniden ölçer.
public void ResizeProportional(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
Yeni bir genişlik.
newHeight
int
Yeni bir yükseklik.
resizeType
ResizeType
Resize türü vardır.
Rotate(Float , Bool , Renk)
Bu yöntem, görüntüyi merkez noktası etrafında döndürür.açıdan, görüntüyi saatlik veya kontrat saatlik olarak döndürebilirsiniz.İstediğiniz yönlendirme: Bu dönüş, görüntü sunumunu ayarlamaya yardımcı olur veyaİçeriğini bozmadan düzeltme.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
Pozitif değerler saatlik olarak döndürülür.
resizeProportionally
bool
Eğer ‘gerçek’ olarak ayarlanırsanız, görüntü boyutunu değiştireceksiniz, diğer durumlarda boyutları dokunmasız bırakır ve yalnızca internal görüntü içeriği döndürülür.
backgroundColor
Color
Arka planın rengi.
RotateFlip(RotateFlipType)
Rotasyon, flipping veya her ikisi de yalnızca aktif çerçevede yapılır.değişiklikleri yalnızca görüntünün şu anda aktif çerçevesine uygular,Diğer çerçevelerin bütünlüğünü korumak.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Rota Flip türü.
Examples
Bu örnek bir GIF görüntüsünü yükler, 90 derecelik saat açısıyla döndürür ve seçmeli olarak görüntüyü yatay ve/veya dikey olarak kaydırır.
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)
Verileri tasarruf edin.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
veri kaydetmek için akış.
SetFrameTime(Yürüyüş)
Her çerçevenin uzunluğunu milisekonda ayarlar, tutarlı bir zamanlama sağlargörüntü sırası boyunca. bu yöntem, görüntüleme süresini eşit olarak ayarlarHer çerçeve, animasyon hızı üzerinde doğru kontrol sağlar.Bu değeri değiştirmek, tüm çerçeveler için gecikmeyi yeniden ayarlayacaktır.
public void SetFrameTime(ushort time)
Parameters
time
ushort
Çerçeve süresi millisekundedir.
UpdateDimensions(int , int , int)
Görüntü boyutlarını güncelleyin.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Yeni görüntü genişliği.
newHeight
int
Yeni görüntü yüksekliği.