GifImage

GifImage class

Bir gif resmi.

public sealed class GifImage : RasterCachedMultipageImage, IMultipageImageExt

yapıcılar

İsimTanım
GifImage(GifFrameBlock)Yeni bir örneğini başlatırGifImage sınıf.
GifImage(GifFrameBlock, IColorPalette)Yeni bir örneğini başlatırGifImage sınıf.
GifImage(GifFrameBlock, IColorPalette, bool, byte, byte, byte, bool)Yeni bir örneğini başlatırGifImage sınıf.

Özellikleri

İsimTanım
ActiveFrame { get; set; }Etkin çerçeveyi alır veya ayarlar.
AutoAdjustPalette { get; set; }Paletin otomatik ayarlanıp ayarlanmadığını belirten bir değer alır veya ayarlar.
override BackgroundColor { get; set; }Arka plan rengini alır veya ayarlar.
BackgroundColorIndex { get; set; }Arka plan rengi dizinini alır veya ayarlar.
override BitsPerPixel { get; }Piksel sayısı başına görüntü bitlerini alır.
Blocks { get; }GIF bloklarını alır.
Bounds { get; }Görüntü sınırlarını alır.
BufferSizeHint { get; set; }Tüm dahili arabellekler için izin verilen maksimum boyut olarak tanımlanan arabellek boyutu ipucunu alır veya ayarlar.
Container { get; }Image kapsayıcı.
DataStreamContainer { get; }Nesnenin veri akışını alır.
Disposed { get; }Bu örneğin atılıp atılmadığını gösteren bir değer alır.
override FileFormat { get; }dosya formatının bir değerini alır
override HasAlpha { get; }Bu örneğin alfa olup olmadığını gösteren bir değer alır.
override HasBackgroundColor { get; }Resmin arka plan rengine sahip olup olmadığını gösteren bir değer alır.
HasTrailer { get; set; }GIF’in fragmanı olup olmadığını belirten bir değer alır veya ayarlar.
override HasTransparentColor { get; set; }Etkin çerçevenin saydam renge sahip olup olmadığını gösteren bir değer alır.
override Height { get; }Görüntü yüksekliğini alır.
virtual HorizontalResolution { get; set; }Bunun yatay çözünürlüğünü inç başına piksel cinsinden alır veya ayarlar.RasterImage .
override ImageOpacity { get; }Bu görüntünün opaklığını alır (etkin çerçeve).
InterruptMonitor { get; set; }Kesinti izleyicisini alır veya ayarlar.
IsCached { get; }Görüntü verilerinin şu anda önbelleğe alınıp alınmadığını gösteren bir değer alır.
IsInterlaced { get; }Bu görüntü örneğinin geçmeli olup olmadığını gösteren bir değer alır.
IsPaletteSorted { get; set; }Paletin sıralanıp sıralanmadığını gösteren bir değer alır veya ayarlar.
IsRawDataAvailable { get; }Ham veri yüklemesinin mevcut olup olmadığını gösteren bir değer alır.
LoopsCount { get; set; }Döngü sayısını alır (Gif resmi döngüler hakkında bilgi içeriyorsa)
override PageCount { get; }Sayfa sayısını alır.
override PageExportingAction { get; set; }Sayfa dışa aktarma eylemini alır veya ayarlar. Bu yöntemin ayarlanmasının, yürütüldükten sonra sayfa kaynaklarını otomatik olarak serbest bırakacağını lütfen unutmayın. Her sayfa kaydedilmeden hemen önce yürütülür.
override Pages { get; }Sayfaları alır.
Palette { get; set; }Renk paletini alır veya ayarlar. Pikseller doğrudan temsil edildiğinde renk paleti kullanılmaz.
PaletteColorResolutionBits { get; set; }Palet renk çözünürlüğü bitlerini alır veya ayarlar.
PixelAspectRatio { get; set; }Piksel en boy oranını alır veya ayarlar.
virtual PremultiplyComponents { get; set; }Görüntü bileşenlerinin önceden çoğaltılması gerekip gerekmediğini belirten bir değer alır veya ayarlar.
RawCustomColorConverter { get; set; }Özel renk dönüştürücüyü alır veya ayarlar
virtual RawDataFormat { get; }Ham veri biçimini alır.
RawDataSettings { get; }Geçerli ham veri ayarlarını alır. Bu ayarları kullanırken verilerin dönüşüm olmadan yüklendiğini unutmayın.
RawFallbackIndex { get; set; }Palet dizini sınırların dışında olduğunda kullanılacak yedek dizini alır veya ayarlar
RawIndexedColorConverter { get; set; }Dizine alınmış renk dönüştürücüyü alır veya ayarlar
virtual RawLineSize { get; }Bayt cinsinden ham satır boyutunu alır.
Size { get; }Görüntü boyutunu alır.
override TransparentColor { get; }Etkin çerçeve saydam rengini alır.
virtual UpdateXmpData { get; set; }XMP meta verilerinin güncellenip güncellenmeyeceğini belirten bir değer alır veya ayarlar.
override UsePalette { get; }Görüntü paletinin kullanılıp kullanılmadığını gösteren bir değer alır.
virtual UseRawData { get; set; }Ham veri yükleme kullanılabilir olduğunda ham veri yüklemenin kullanılıp kullanılmayacağını belirten bir değer alır veya ayarlar.
virtual VerticalResolution { get; set; }Bunun dikey çözünürlüğünü inç başına piksel cinsinden alır veya ayarlar.RasterImage .
override Width { get; }Görüntü genişliğini alır.
override XmpData { get; set; }XMP meta verilerini alır veya ayarlar.

yöntemler

İsimTanım
AddBlock(IGifBlock)Yeni bir GIF bloğu ekler.
AddPage(RasterImage)Resme sayfa ekler.
override AdjustBrightness(int)Bir ayarıbrightness resim için.
override AdjustContrast(float)Kontrastı ayarlar.
override AdjustGamma(float)Bir görüntünün gama düzeltmesi.
override AdjustGamma(float, float, float)Bir görüntünün gama düzeltmesi.
override BinarizeBradley(double)Entegre görüntü eşikleme kullanılarak Bradley’in uyarlamalı eşikleme algoritması kullanılarak bir görüntünün ikilileştirilmesi
override BinarizeBradley(double, int)Entegre görüntü eşikleme kullanılarak Bradley’in uyarlamalı eşikleme algoritması kullanılarak bir görüntünün ikilileştirilmesi
override BinarizeFixed(byte)Önceden tanımlanmış eşik değeri olan bir görüntünün ikilileştirilmesi
override BinarizeOtsu()Otsu eşik değeri ile bir görüntünün ikilileştirilmesi
override CacheData()Özel verileri önbelleğe alır.
CanSave(ImageOptionsBase)Görüntünün, geçirilen kaydetme seçenekleriyle temsil edilen belirtilen dosya biçimine kaydedilip kaydedilemeyeceğini belirler.
ClearBlocks()Tüm GIF bloklarını temizler.
override Crop(Rectangle)Görüntü kırpılıyor.
override Crop(int, int, int, int)Görüntüyü kaydırmalarla kırpın.
Dispose()Geçerli örneği atar.
Dither(DitheringMethod, int)Geçerli görüntüde renk taklidi gerçekleştirir.
override Dither(DitheringMethod, int, IColorPalette)Geçerli görüntüde renk taklidi gerçekleştirir.
override Filter(Rectangle, FilterOptionsBase)Belirtilen dikdörtgeni filtreler.
GetArgb32Pixel(int, int)32-bit ARGB piksel görüntüsü alır.
GetDefaultArgb32Pixels(Rectangle)Varsayılan 32 bit ARGB piksel dizisini alır.
virtual GetDefaultOptions(object[])Varsayılan seçenekleri alır.
GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader)Kısmi piksel yükleyiciyi kullanarak varsayılan piksel dizisini alır.
GetDefaultRawData(Rectangle, RawDataSettings)Varsayılan ham veri dizisini alır.
GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings)Kısmi piksel yükleyici kullanarak varsayılan ham veri dizisini alır.
virtual GetModifyDate(bool)Kaynak görüntüsünün en son değiştirildiği tarih ve saati alır.
override GetOriginalOptions()Orijinal dosya ayarlarına dayalı seçenekleri alır. Bu, orijinal görüntünün bit derinliğini ve diğer parametrelerini değiştirmemeye yardımcı olabilir. Örneğin, piksel başına 1 bitlik siyah beyaz bir PNG görüntüsü yükler ve ardından the kullanarak kaydedinSave yöntemi, piksel başına 8 bitlik çıktı PNG görüntüsü üretilecektir. Bundan kaçınmak ve PNG görüntüsünü piksel başına 1 bit ile kaydetmek için, ilgili kaydetme seçeneklerini almak için bu yöntemi kullanın ve bunları Save ikinci parametre olarak yöntem.
GetPixel(int, int)Bir görüntü pikseli alır.
GetSkewAngle()Eğim açısını alır. Bu yöntem, tarama sırasında eğrilik açısını belirlemek için taranan metin belgelerine uygulanabilir.
override Grayscale()Bir görüntünün gri tonlamalı temsiline dönüştürülmesi
InsertBlock(int, IGifBlock)Yeni bir GIF bloğu ekler.
LoadArgb32Pixels(Rectangle)32 bit ARGB pikselleri yükler.
LoadArgb64Pixels(Rectangle)64 bit ARGB pikselleri yükler.
LoadCmyk32Pixels(Rectangle)Pikselleri CMYK biçiminde yükler.
LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader)32 bit ARGB piksellerini kısmen paketler halinde yükler.
LoadPartialPixels(Rectangle, IPartialPixelLoader)Pikselleri paketlere göre kısmen yükler.
LoadPixels(Rectangle)Piksel yükler.
LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader)Ham verileri yükler.
LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader)Ham verileri yükler.
NormalizeAngle()Açıyı normalleştirir. Bu yöntem, eğri taramadan kurtulmak için taranan metin belgelerine uygulanabilir. Bu yöntem şunları kullanır:GetSkewAngle veRotate yöntemler.
override NormalizeAngle(bool, Color)Açıyı normalleştirir. Bu yöntem, eğri taramadan kurtulmak için taranan metin belgelerine uygulanabilir. Bu yöntem şunları kullanır:!:GetSkewAngle veRotate yöntemler.
OrderBlocks()GIF bloklarını GIF belirtimine göre sıralar. BazıGifGraphicsControlBlock uygun GIF düzeni için kaldırılabilir.
ReadArgb32ScanLine(int)Belirtilen tarama satırı dizinine göre tüm tarama satırını okur.
ReadScanLine(int)Belirtilen tarama satırı dizinine göre tüm tarama satırını okur.
RemoveBlock(IGifBlock)GIF bloğunu kaldırır.
ReplaceColor(Color, byte, Color)İzin verilen farkla bir rengi başka bir renkle değiştirir ve düzgün kenarları kaydetmek için orijinal alfa değerini korur.
override ReplaceColor(int, byte, int)İzin verilen farkla bir rengi başka bir renkle değiştirir ve düzgün kenarları kaydetmek için orijinal alfa değerini korur.
ReplaceNonTransparentColors(Color)Tüm saydam olmayan renkleri yeni renklerle değiştirir ve düzgün kenarları korumak için orijinal alfa değerini korur. Not: Bunu saydam olmayan görüntülerde kullanırsanız, tüm renkler tek bir renkle değiştirilir.
override ReplaceNonTransparentColors(int)Tüm saydam olmayan renkleri yeni renkle değiştirir ve düzgün kenarları korumak için orijinal alfa değerini korur. Not: Bunu saydam olmayan görüntülerde kullanırsanız, tüm renkler tek bir renkle değiştirilir.
Resize(int, int)Resmi yeniden boyutlandırır. VarsayılanNearestNeighbourResample kullanılır.
override Resize(int, int, ImageResizeSettings)Resmi yeniden boyutlandırır.
override Resize(int, int, ResizeType)Resmi yeniden boyutlandırır.
ResizeFullFrame(int, int, ResizeType)Her GIF sayfası için tam çerçeve kullanarak görüntüyü yeniden boyutlandırır. Olası yapıtların görünümünü önlemek için gereklidir.
ResizeHeightProportionally(int)Yüksekliği orantılı olarak yeniden boyutlandırır. VarsayılanNearestNeighbourResample kullanılır.
virtual ResizeHeightProportionally(int, ImageResizeSettings)Yüksekliği orantılı olarak yeniden boyutlandırır.
override ResizeHeightProportionally(int, ResizeType)Genişliği orantılı olarak yeniden boyutlandırır.
ResizeProportional(int, int, ResizeType)Görüntü üzerinde orantılı yeniden boyutlandırma gerçekleştirir. Orantılı yeniden boyutlandırma, her kareyinewWidth/genişlik venewHeight /yükseklik.
ResizeWidthProportionally(int)Genişliği orantılı olarak yeniden boyutlandırır. VarsayılanNearestNeighbourResample kullanılır.
virtual ResizeWidthProportionally(int, ImageResizeSettings)Genişliği orantılı olarak yeniden boyutlandırır.
override ResizeWidthProportionally(int, ResizeType)Genişliği orantılı olarak yeniden boyutlandırır.
virtual Rotate(float)Resmi merkez çevresinde döndürün.
override Rotate(float, bool, Color)!:RasterCahcedMultipageImage.Rotate merkezin etrafındaki görüntü.
override RotateFlip(RotateFlipType)Yalnızca Etkin çerçeveyi döndürür, çevirir veya döndürür ve döndürür.
Save()Görüntü verilerini temel alınan akışa kaydeder.
Save(Stream)Nesnenin verilerini belirtilen akışa kaydeder.
override Save(string)Resmi belirtilen dosya konumuna kaydeder.
Save(Stream, ImageOptionsBase)Görüntünün verilerini, kaydetme seçeneklerine göre belirtilen dosya biçiminde belirtilen akışa kaydeder.
virtual Save(string, bool)Nesnenin verilerini belirtilen dosya konumuna kaydeder.
virtual Save(string, ImageOptionsBase)Nesnenin verilerini, kaydetme seçeneklerine göre belirtilen dosya biçiminde belirtilen dosya konumuna kaydeder.
override Save(Stream, ImageOptionsBase, Rectangle)Görüntünün verilerini, kaydetme seçeneklerine göre belirtilen dosya biçiminde belirtilen akışa kaydeder.
virtual Save(string, ImageOptionsBase, Rectangle)Nesnenin verilerini, kaydetme seçeneklerine göre belirtilen dosya biçiminde belirtilen dosya konumuna kaydeder.
SaveArgb32Pixels(Rectangle, int[])32 bit ARGB piksellerini kaydeder.
SaveCmyk32Pixels(Rectangle, int[])Pikselleri kaydeder.
SavePixels(Rectangle, Color[])Pikselleri kaydeder.
SaveRawData(byte[], int, Rectangle, RawDataSettings)Ham verileri kaydeder.
SetArgb32Pixel(int, int, int)Belirtilen konum için bir 32-bit ARGB pikseli ayarlar.
SetFrameTime(ushort)Tüm karelerin süresini milisaniye cinsinden ayarlar. Bu değerin değiştirilmesi, tüm kareler için gecikmeyi sıfırlayacaktır.
override SetPalette(IColorPalette, bool)Görüntü paletini ayarlar.
SetPixel(int, int, Color)Belirtilen konum için bir görüntü pikseli ayarlar.
virtual SetResolution(double, double)Bunun için çözünürlüğü ayarlarRasterImage .
virtual ToBitmap()Raster görüntüyü bitmap’e dönüştürür.
WriteArgb32ScanLine(int, int[])Tüm tarama satırını belirtilen tarama satırı dizinine yazar.
WriteScanLine(int, Color[])Tüm tarama satırını belirtilen tarama satırı dizinine yazar.

Örnekler

Animasyonun bir kısmının GIF görüntüsünden zaman aralığına göre dışa aktarılması.

[C#]

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ün nasıl oluşturulacağını ve bir dosyaya nasıl kaydedileceğini gösterir.

[C#]

string dir = "c:\\temp\\";

// 100x100 piksellik bir GIF Çerçeve bloğu oluşturun.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
{
    // Tüm bloğu kırmızı ile doldurun.
    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 tarama görüntüleri kullanarak çok sayfalı GIF görüntüsü oluşturun.

[C#]

static void Main(string[] args)
{
    // Çerçeveleri yükle
    var frames = LoadFrames("Animation frames").ToArray();

    // İlk kareyi kullanarak GIF resmi oluştur
    using (var image = new GifImage(new GifFrameBlock(frames[0])))
    {
        // AddPage yöntemini kullanarak GIF görüntüsüne çerçeve ekleyin
        for (var index = 1; index < frames.Length; index++)
        {
            image.AddPage(frames[index]);
        }

        // GIF resmini kaydet
        image.Save("Multipage.gif");
    }
}

private static IEnumerable<RasterImage> LoadFrames(string directory)
{
    foreach (var filePath in Directory.GetFiles(directory))
    {
        yield return (RasterImage)Image.Load(filePath);
    }
}

Ayrıca bakınız