Class GifImage
Nama dari : Aspose.Imaging.FileFormats.Gif Pengumpulan: Aspose.Imaging.dll (25.4.0)
API untuk Graphical Interchange Format (GIF) file gambar menyediakanpengembang dengan alat yang beragam untuk memproses gambar raster yang dikompresi danGIF animasi. menawarkan fitur seperti pemrosesan metadata XMP, palet warnapengaturan, latar belakang dan kontrol warna yang transparan, pengaturan opacity, resize,crop, aplikasi filter, koreksi gamma, penyesuaian kontras, grayscaletransformasi, dan konversi ke format lain. API ini memungkinkanmanipulasi dan peningkatan gambar GIF untuk berbagai aplikasi.
[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
anggota yang diwarisi
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
Ekspor bagian animasi dari gambar GIF berdasarkan interval waktu.
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);
}
Contoh ini menunjukkan cara membuat gambar GIF dan menyimpannya ke file.
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");
}
}
Buat gambar GIF berbilang halaman menggunakan gambar raster satu halaman.
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 dan IColorPalette)
Memulai objek Aspose.Imaging.FileFormats.Gif.GifImage baru dengan parameter yang ditentukan untukframe pertama dan palet global. mulai mengelola gambar GIF dengan cepat, memastikanPerwakilan yang tepat dengan pengaturan yang dapat disesuaikan untuk hasil yang optimal.
public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette)
Parameters
firstFrame
GifFrameBlock
Frame pertama untuk memulai gambar gif dengan.
globalPalette
IColorPalette
Catatan jika kedua firstFrame’ dan
globalPalette’ adalah null maka default global palette digunakan.
Examples
Contoh ini menunjukkan cara membuat gambar GIF dengan palet tersuai dan menyimpannya ke file.
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’ tidak bisa null
firstFrame’ sudah tergolong dalam beberapa gambar lain.
globalPalette’ yang ditentukan harus mengandung jumlah entri yang setara dengan kekuatan 2. minimal ukuran palet adalah 2, maksimum adalah 256.
GifImage(GifFrameBlock)
Membuat gambar GIF menjadi mudah dengan Aspose.Imaging.FileFormats.Gif.GifImageDengan hanya parameter Frame pertama, ia memasuki dunia dinamik.Komunikasi visual
public GifImage(GifFrameBlock firstFrame)
Parameters
firstFrame
GifFrameBlock
Frame pertama untuk memulai gambar gif dengan.
Examples
Contoh ini menunjukkan cara membuat gambar GIF dan menyimpannya ke file.
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");
}
}
Contoh berikut menunjukkan cara menyusun gambar GIF animasi dari blok GIF individu.
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’ tidak bisa null
firstFrame’ sudah tergolong dalam beberapa gambar lain.
Palet yang ditentukan harus mengandung jumlah entri yang setara dengan kekuatan 2. ukuran minimum palet adalah 2, maksimum adalah 256.
GifImage(GifFrameBlock, IColorPalette, bool, byte, byte, byte, bool)
Memulai dengan mudah dengan Aspose.Imaging.FileFormats.Gif.GifImage constructor.metode sederhana, Anda dapat menyelam ke dalam membuat animasi GIF dengan mudah.pertamaFrame, globalPalette, paletteColorResolution, aspectRatio, dan lain-lainparameter, dan Anda siap untuk membawa visual Anda ke kehidupan.
public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette, bool isPaletteSorted, byte paletteColorResolution, byte paletteBackgroundColorIndex, byte aspectRatio, bool hasTrailer)
Parameters
firstFrame
GifFrameBlock
Frame pertama untuk memulai gambar gif dengan.
globalPalette
IColorPalette
Catatan jika kedua firstFrame’ dan
globalPalette’ adalah null maka default global palette digunakan.
isPaletteSorted
bool
Jika ditetapkan untuk ‘kebenaran’ palet disusun. catatan parameter digunakan ketika globalPalette’ tidak nol.
paletteColorResolution
byte
Perhatikan parameter yang digunakan ketika globalPalette’ tidak nol.
paletteBackgroundColorIndex
byte
Indeks warna latar belakang palet.
aspectRatio
byte
Aspek yang relatif.
hasTrailer
bool
Jika ditetapkan untuk ‘kebenaran’ gambar gif memiliki trailer jika tidak tidak ada trailer ditulis di akhir arus.
Exceptions
firstFrame’ tidak bisa null
firstFrame’ sudah tergolong dalam beberapa gambar lain.
globalPalette’ yang ditentukan harus mengandung jumlah entri yang setara dengan kekuatan 2. minimal ukuran palet adalah 2, maksimum adalah 256.
Properties
ActiveFrame
Mengelola dan memanipulasi bingkai dengan properti ini, memungkinkan navigasi lancar danmengubah bingkai aktif dalam gambar GIF.
public GifFrameBlock ActiveFrame { get; set; }
Nilai Properti
Examples
Contoh berikut menunjukkan cara menghapus semua blok dari gambar GIF.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
using (Aspose.Imaging.FileFormats.Gif.GifImage gifImage = new Aspose.Imaging.FileFormats.Gif.GifImage(firstBlock))
{
if (gifImage.ActiveFrame != null)
{
System.Console.WriteLine("Active frame size: {0}", gifImage.ActiveFrame.Size);
}
else
{
System.Console.WriteLine("Active frame is not set");
}
System.Console.WriteLine("Clear all the blocks");
gifImage.ClearBlocks();
if (gifImage.ActiveFrame != null)
{
System.Console.WriteLine("Active frame size: {0}", gifImage.ActiveFrame.Size);
}
else
{
System.Console.WriteLine("Active frame is not set");
}
}
// The output looks like this:
// Active frame size: { Width = 100, Height = 100}
// Clear all the blocks
// Active frame is not set
BackgroundColor
Mengelola warna latar belakang gambar GIF dengan sifat ini. Anda dapat mengatur ataumengambil warna latar belakang untuk memastikan konsistensi dan meningkatkan daya tarik visual.
public override Color BackgroundColor { get; set; }
Nilai Properti
BackgroundColorIndex
Mengontrol indeks warna latar belakang dari gambar GIF menggunakan sifat ini.mengambil indeks untuk mengekalkan konsistensi atau mencapai efek visual yang diinginkan.
public byte BackgroundColorIndex { get; set; }
Nilai Properti
Blocks
Dapatkan akses ke blok GIF dengan mudah dengan properti ini, memudahkanPemulihan dan manipulasi struktur data dasar dari gambar.
public IGifBlock[] Blocks { get; }
Nilai Properti
IGifBlock [ ]
FileFormat
Memulihkan format file dengan mudah dengan sifat ini. ini adalah Anda pergi ke sumberuntuk mengidentifikasi format file Anda. terintegrasi dengan lancar ke dalam aliran kerja Anda,memberikan informasi penting tanpa adanya kekacauan.
public override FileFormat FileFormat { get; }
Nilai Properti
HasBackgroundColor
Properti ini menentukan apakah gambar GIF mengandung warna latar belakang.benar, itu menunjukkan bahwa gambar itu termasuk warna latar belakang.
public override bool HasBackgroundColor { get; }
Nilai Properti
HasTrailer
Mengelola kehadiran trailer dalam file GIF Anda dengan properti ini.perlu untuk memeriksa apakah trailer ada atau menetapkan kehadirannya, properti ini memudahkanPastikan file GIF Anda terstruktur dan mematuhi fitur intuitif ini.
public bool HasTrailer { get; set; }
Nilai Properti
HasTransparentColor
Tentukan apakah bingkai aktif gambar GIF mengandung warna transparan.Properti ini memberikan cara yang nyaman untuk memeriksa transparansi dalam gambar.
public override bool HasTransparentColor { get; set; }
Nilai Properti
ImageOpacity
Mengurangi ketidakselesaan bingkai aktif di dalam gambar, memberikan wawasantingkat transparansi. sifat ini sangat berguna untuk memahamitingkat transparansi atau ketidakselesaan bingkai aktif dalam gambar.
public override float ImageOpacity { get; }
Nilai Properti
IsInterlaced
Menentukan apakah gambar terhubung, mempengaruhi paparan saat muat.Properti menawarkan wawasan tentang perilaku rendering gambar, penting untukMengoptimalkan strategi muatan dan meningkatkan pengalaman menonton secara keseluruhan.
public bool IsInterlaced { get; }
Nilai Properti
IsPaletteSorted
Mengontrol sorting palet dalam gambar GIF Anda menggunakan properti ini.Anda perlu memeriksa apakah palet disusun atau menetapkan perilaku disusun, iniProperti menyediakan cara yang mudah untuk mengelola organisasi palet diUntuk file GIF.
public bool IsPaletteSorted { get; set; }
Nilai Properti
LoopsCount
Memulihkan penghitungan loop dengan mudah dengan sifat ini. jika gambar GIF Anda termasukinformasi loop, properti ini memberi Anda akses cepat ke jumlah loop, memungkinkanAnda untuk mengelola perilaku looping dalam file GIF Anda.
public int LoopsCount { get; set; }
Nilai Properti
PageCount
Mengembalikan jumlah total halaman yang terkandung di dalam gambar dengan iniProperti sederhana. ideal untuk dengan cepat menilai ukuran konten gambar.
public override int PageCount { get; }
Nilai Properti
Pages
Dapatkan akses ke halaman dalam gambar melalui properti yang nyaman ini,memungkinkan navigasi dan manipulasi halaman individu tanpa batas sesuai kebutuhan.
public override Image[] Pages { get; }
Nilai Properti
Image [ ]
PaletteColorResolutionBits
Mengelola resolusi warna palet gambar GIF Anda dengan sifat ini.Jumlah bit yang digunakan untuk mewakili warna dalam palet, memberikan kontrol yang baikKetebalan warna dan kualitas gambar.
public byte PaletteColorResolutionBits { get; set; }
Nilai Properti
PixelAspectRatio
Mengelola proporsi aspek piksel dari gambar GIF dengan sifat ini.proporsi aspek untuk memastikan rendering yang tepat dan menjaga kesetiaan visual.
public byte PixelAspectRatio { get; set; }
Nilai Properti
TransparentColor
Memulihkan warna transparan dari bingkai aktif dalam gambar GIF.memungkinkan Anda untuk mengakses warna tertentu yang telah ditetapkan sebagai transparandalam rangka kerja aktif saat ini.
public override Color TransparentColor { get; }
Nilai Properti
XmpData
Mengelola metadata XMP dengan properti ini. apakah Anda mendapatkan metadata yang adaatau memperbarui dengan informasi baru, properti ini mempercepat proses.Metadata Anda terorganisir dan dapat diakses, memastikan bahwa file Anda mengandungInformasi yang relevan yang dibutuhkan.
public override XmpPacketWrapper XmpData { get; set; }
Nilai Properti
Methods
AddBlock(Keberadaan IGIFBlock)
Menambahkan blok GIF baru memungkinkan Anda untuk memasukkan data tambahan dalam gambar.Metode ini memungkinkan Anda untuk melampirkan blok tersuai ke gambar GIF, yang dapatMengandungi berbagai jenis informasi.
public void AddBlock(IGifBlock block)
Parameters
block
IGifBlock
Blok GIF untuk ditambahkan.
Examples
Contoh berikut menunjukkan cara menyusun gambar GIF animasi dari blok GIF individu.
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)
Mengintegrasikan halaman baru secara tidak sengaja ke dalam gambar yang ada, meningkatkan kontennyadan memperluas jangkauan. metode ini meningkatkan koleksi gambar dengan tambahanmempromosikan kreativitas dan fleksibilitas dalam pengelolaan dan komposisi gambar.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
Halaman yang harus ditambahkan.
Examples
Buat gambar GIF berbilang halaman menggunakan gambar raster satu halaman.
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)
Menetapkan kecerahan gambar sesuai dengan parameter kecerahan yang ditentukan. metode ini mengubah kecerahan keseluruhan gambar secara seragam, meningkatkan atau mengurangi kecerahan keseluruhan untuk mencapai efek yang diinginkan.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Nilai kecerahan
Examples
Contoh berikut melakukan koreksi kecerahan gambar GIF.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Set the brightness value. The accepted values of brightness are in the range [-255, 255].
gifImage.AdjustBrightness(50);
gifImage.Save(dir + "sample.AdjustBrightness.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
AdjustContrast(kapal)
menyesuaikan kontras gambar, meningkatkan atau mengurangi perbedaan dalamkecerahan antara piksel. metode ini mengubah julat nada keseluruhan gambar,membuat area yang lebih gelap lebih gelap dan area yang lebih terang lebih terang untuk meningkatkan kejelasan visualdan detailnya.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Nilai kontras (dalam rentang [-100; 100])
Examples
Contoh berikut melakukan koreksi kontras gambar GIF.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Set the contrast value. The accepted values of contrast are in the range [-100f, 100f].
gifImage.AdjustContrast(50f);
gifImage.Save(dir + "sample.AdjustContrast.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Exceptions
Tidak dapat mengubah kontras. Frame index: " + frameIndex
AdjustGamma(kapal)
Meningkatkan kualitas gambar dengan menerapkan koreksi gamma. metode ini menyesuaikan warnaGamma dari gambar untuk mencapai ketelusan visual optimal. mengubah nilai gammadari setiap piksel, yang menghasilkan rendisi warna yang lebih baik dan penampilan gambar secara keseluruhan.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Gamma untuk koordinat saluran merah, hijau dan biru
Examples
Contoh berikut melakukan koreksi gamma dari gambar GIF.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Set gamma coefficient for red, green and blue channels.
gifImage.AdjustGamma(2.5f);
gifImage.Save(dir + "sample.AdjustGamma.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
AdjustGamma(Kapal, Kapal dan Kapal)
Gamma-koreksi gambar berlaku penyesuaian nonlinear pada nilai pixel,meningkatkan atau mengurangi kecerahan berdasarkan koefisien yang ditentukan untuk merah,hijau, dan saluran biru. metode ini membantu untuk memperbaiki keseimbangan warna danpencahayaan gambar, meningkatkan penampilannya secara keseluruhan dan kualitas visual.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma untuk Red Channel Coefficient
gammaGreen
float
Gamma untuk Green Channel Coefficient
gammaBlue
float
Gamma untuk Blue Channel Coefficient
Examples
Contoh berikut melakukan koreksi gamma dari gambar GIF yang menerapkan koefisien yang berbeda untuk komponen warna.
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(Dua kali)
Binarisasi gambar menggunakan algoritma sempadan adaptif Bradley denganIntegral image thresholding adalah metode untuk mengkonversi gambar grayscale menjadiGambar biner. algoritma ini menghitung batas lokal untuk setiap piksel berdasarkanintensitas rata-rata dari piksel sekitar di dalam jendela tertentu.Adaptif menyesuaikan batas berdasarkan intensitas pixel lokal, BradleyMetode ini efektif dalam menangani variasi dalam pencahayaan dan kontras di seluruh gambar.
public override void BinarizeBradley(double brightnessDifference)
Parameters
brightnessDifference
double
Perbedaan kecerahan antara piksel dan rata-rata jendela s x s dari piksel yang berpusat di sekitar piksel ini.
BinarizeFixed(byte)
Binarisasi gambar dengan batas yang sudah ditentukan mengubah warna atau warna kelabu.Gambar dalam gambar biner, di mana setiap piksel diklasifikasikan sebagai hitam atau putihberdasarkan apakah nilai intensitasnya melebihi batas yang ditetapkan.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Jika nilai kelabu yang sepadan dari piksel lebih besar dari batas, nilai 255 akan ditugaskan kepadanya, 0 sebaliknya.
Examples
Contoh berikut binarisasi gambar GIF dengan batas yang telah ditentukan. gambar binarisasi hanya mengandung 2 warna - hitam dan putih.
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()
Binarisasi gambar dengan Otsu thresholding adalah metode yang digunakan untukmenentukan nilai ambang optimal untuk mengkonversi gambar grafis menjadiGambar biner. algoritma batas Otsu menghitung batas yangMengurangi variasi intra-kelas intensitas piksel dalam dua hasilkelas (sebelum dan latar belakang). teknik ini sangat berguna ketikanilai batas optimal tidak diketahui dan harus ditentukan secara adaptif berdasarkanpada histogram gambar.
public override void BinarizeOtsu()
Examples
Contoh berikut binarisasi gambar GIF dengan sempadan Otsu. gambar binarisasi hanya mengandung 2 warna - hitam dan putih.
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()
Membersihkan semua blok GIF menghapus semua data yang ada yang disimpan di dalam gambar.Operasi ini secara efektif mengembalikan gambar ke keadaan kosong, menghapus semuasebelum ini ditambahkan blok. gunakan metode ini ketika Anda perlu memulai segar dengan yang bersihSlate untuk membuat atau mengubah gambar GIF.
public void ClearBlocks()
Examples
Contoh berikut menunjukkan cara menghapus semua blok dari gambar GIF.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
using (Aspose.Imaging.FileFormats.Gif.GifImage gifImage = new Aspose.Imaging.FileFormats.Gif.GifImage(firstBlock))
{
if (gifImage.ActiveFrame != null)
{
System.Console.WriteLine("Active frame size: {0}", gifImage.ActiveFrame.Size);
}
else
{
System.Console.WriteLine("Active frame is not set");
}
System.Console.WriteLine("Clear all the blocks");
gifImage.ClearBlocks();
if (gifImage.ActiveFrame != null)
{
System.Console.WriteLine("Active frame size: {0}", gifImage.ActiveFrame.Size);
}
else
{
System.Console.WriteLine("Active frame is not set");
}
}
// The output looks like this:
// Active frame size: { Width = 100, Height = 100}
// Clear all the blocks
// Active frame is not set
Crop(Rectangle)
Menanam gambar menggunakan area rektangle yang ditentukan. operasi ini menghapus eksternalbagian dari gambar, meninggalkan hanya wilayah yang dipilih yang ditentukan oleh rektangle.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
dengan rektangle.
Examples
Contoh berikut menanam gambar GIF. area penanaman ditentukan melalui 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(DitheringMetode, int, IColorPalette)
Mengaplikasikannya pada gambar saat ini. proses ini meningkatkan kualitas gambar denganmengurangi banding warna dan meningkatkan transisi warna, yang menghasilkan lebih haluspenampilan
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Metode yang dihitung.
bitsCount
int
Bits terakhir menghitung untuk dikhitung.
customPalette
IColorPalette
Pakaian yang disesuaikan untuk dikeringkan.
Examples
Contoh berikut memuat gambar GIF dan melakukan threshold dan floyd dithering menggunakan kedalaman palet yang berbeda.
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)
Gunakan filter spesifik ke area yang ditentukan dari gambar, meningkatkan visualnyakualitas atau mengubah penampilannya seperti yang diinginkan. metode ini secara selektifpiksel dalam rektangle yang ditentukan, memungkinkan penyesuaian yang ditargetkan untuk dilakukansambil mempertahankan integritas data gambar di sekitarnya.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
dengan rektangle.
options
FilterOptionsBase
dengan opsi tersebut.
Examples
Contoh berikut menggunakan berbagai jenis filter untuk gambar GIF.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Apply a median filter with a rectangle size of 5 to the entire image.
gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.MedianFilterOptions(5));
gifImage.Save(dir + "sample.MedianFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Apply a bilateral smoothing filter with a kernel size of 5 to the entire image.
gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.BilateralSmoothingFilterOptions(5));
gifImage.Save(dir + "sample.BilateralSmoothingFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Apply a Gaussian blur filter with a radius of 5 and a sigma value of 4.0 to the entire image.
gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.GaussianBlurFilterOptions(5, 4.0));
gifImage.Save(dir + "sample.GaussianBlurFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Apply a Gauss-Wiener filter with a radius of 5 and a smooth value of 4.0 to the entire image.
gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.GaussWienerFilterOptions(5, 4.0));
gifImage.Save(dir + "sample.GaussWienerFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Apply a motion wiener filter with a length of 5, a smooth value of 4.0 and an angle of 90.0 degrees to the entire image.
gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.MotionWienerFilterOptions(10, 1.0, 90.0));
gifImage.Save(dir + "sample.MotionWienerFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;
// Apply a sharpen filter with a kernel size of 5 and a sigma value of 4.0 to the entire image.
gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.SharpenFilterOptions(5, 4.0));
gifImage.Save(dir + "sample.SharpenFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
GetOriginalOptions()
Memulihkan pilihan berdasarkan pengaturan file asli, penting untuk menjaga kesetiaandan konsistensi dalam pemrosesan gambar dan manipulasi. metode ini memungkinkan tanpamengintegrasikan parameter spesifik file ke dalam operasi berikutnya, memastikanpenyerahan yang tepat dan ketergantungan terhadap karakteristik inherent dari gambar.Ini dapat membantu untuk menjaga kedalaman bit dan parameter lain dari gambar asli tidak berubah.Misalnya, jika kita memuat gambar PNG hitam dan putih dengan 1 bit per piksel dan kemudian menyimpannya menggunakanMetode Aspose.Imaging.DataStreamSupporter.Save(System.String), hasil PNG gambar dengan 8-bit per piksel akan diproduksi.Untuk menghindari dan menyimpan gambar PNG dengan 1 bit per piksel, gunakan metode ini untuk mendapatkan opsi penyimpanan yang sesuai dan melewati merekauntuk Aspose.Imaging.Image.Save(System.String,Aspose.Imaging.ImageOptionsBase) metode sebagai parameter kedua.
public override ImageOptionsBase GetOriginalOptions()
Returns
Pilihan berdasarkan pengaturan file asli.
Grayscale()
Transformasi gambar menjadi representasi kelabu mengubah warnagambar dalam versi kelabu dengan menghapus informasi warna sambil menyimpanProses ini menyederhanakan gambar menjadi bayangan kelabu, menjadikannya cocokuntuk berbagai aplikasi seperti pencetakan, pemrosesan dokumen, dan grayscaledengan analisis.
public override void Grayscale()
Examples
Contoh berikut mengubah gambar GIF berwarna menjadi representasi grayscale.Grayscale gambar terdiri secara eksklusif dari bayangan kelabu dan hanya membawa informasi intensitas.
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(dan IGIFBlock)
Menetapkan blok GIF baru memungkinkan Anda untuk menambahkan data tersuai di posisi tertentuMetode ini memungkinkan Anda untuk menempatkan blok yang disesuaikan pada yang diinginkan.lokasi dalam gambar GIF, memberikan fleksibilitas dalam mengatur dan mengaturData gambar.
public void InsertBlock(int index, IGifBlock block)
Parameters
index
int
Elemen berbasis nol, di mana blok akan dimasukkan.
block
IGifBlock
Blok GIF untuk ditambahkan.
OnPaletteChanged(Perbedaannya dengan IColorPalette)
Tanggapan ketika palet diubah.
protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
dengan palet lama.
newPalette
IColorPalette
dan palet baru.
OnPaletteChanging(Perbedaannya dengan IColorPalette)
Ia dipanggil ketika palet berubah.
protected override void OnPaletteChanging(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
dengan palet lama.
newPalette
IColorPalette
dan palet baru.
OrderBlocks()
Mengatur blok GIF sesuai dengan spesifikasi GIF memastikan GIF yang tepatdisusun dan mematuhi standar. proses ini melibatkan penyelenggaraanblok dalam urutan yang benar seperti yang ditakrifkan oleh spesifikasi.dapat melibatkan penghapusan beberapa Aspose.Imaging.FileFormats.Gif.Blocks.GifGraphicsControlBlock instans yangtidak diperlukan untuk tataletak akhir.Dengan mematuhi spesifikasi GIF,Gambar yang dihasilkan akan terstruktur dengan benar dan kompatibel dengan pemandangan GIFAplikasi yang
public void OrderBlocks()
RemoveBlock(Keberadaan IGIFBlock)
Menghapus blok GIF menghapus data spesifik dari gambar, menawarkan kemampuan untukmembersihkan atau mengubah struktur gambar. metode ini memungkinkan Anda untuk menghapus yang tidak diinginkanatau blok yang tidak perlu, mengoptimalkan gambar GIF untuk penyimpanan yang efisien.Fungsi untuk menghapus informasi yang usang dari gambar sambil mempertahankanintegritas dan kualitasnya.
public void RemoveBlock(IGifBlock block)
Parameters
block
IGifBlock
blok yang harus dihapus.
Remarks
Catatan: Jangan lupa untuk menyimpan blok jika Anda tidak akan menambahkan ke beberapa GifImage lainnya.
Resize(int, int, resizeType)
Mengalihkan contoh Aspose.Imaging.Image ini.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
dengan lebar yang baru.
newHeight
int
ketinggian yang baru.
resizeType
ResizeType
dengan jenis resize.
Examples
Contoh ini memuat gambar GIF dan menggunakannya kembali menggunakan berbagai metode resizing.
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)
Mengalihkan contoh Aspose.Imaging.Image ini.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
dengan lebar yang baru.
newHeight
int
ketinggian yang baru.
settings
ImageResizeSettings
Pengaturan yang
Examples
Contoh ini memuat gambar GIF dan menggunakannya kembali menggunakan berbagai pengaturan resizing.
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)
Mengembalikan gambar sambil mempertimbangkan bingkai penuh untuk setiap halaman diGIF, dengan demikian mencegah potensi artefak dari muncul. metode ini pentinguntuk menjaga integritas dan kualitas gambar, terutama ketika berurusan denganGIF animasi atau sekuensi bingkai.
public void ResizeFullFrame(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
dengan lebar yang baru.
newHeight
int
ketinggian yang baru.
resizeType
ResizeType
dengan jenis resize.
ResizeProportional(int, int, resizeType)
Resize proporsional mempertahankan proporsi aspek dari gambar sambil menyesuaikan saiznya, memastikan bahwa gambar tidak terlihat meluas atau rusak. metode ini resize gambar secara proporsional, mengukur kedalaman dan ketinggian dengan faktor yang sama.Resize proporsional akan resize setiap bingkai sesuai dengan proporsi newWidth’/width dan
newHeight’/height.
public void ResizeProportional(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
dengan lebar yang baru.
newHeight
int
ketinggian yang baru.
resizeType
ResizeType
dengan jenis resize.
Rotate(Bulu, Bulu dan Warna)
Metode ini memutar gambar di sekitar titik pusatnya.Dengan menentukan rotasisudut, Anda dapat memutar gambar dengan cara jam atau counter jam untuk mencapaiorientasi yang diinginkan. rotasi ini membantu menyesuaikan presentasi gambar atauMenyelaras tanpa mengganggu kontennya.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
Sudut berputar dalam derajat. nilai positif akan berputar secara jam.
resizeProportionally
bool
Jika Anda menetapkan ‘kebenaran’ Anda akan memiliki ukuran gambar Anda berubah sesuai dengan proyeksi rektangle (titik sudut) yang ditarik di tempat lain yang meninggalkan dimensi tidak disentuh dan hanyainternal konten gambar ditarik.
backgroundColor
Color
warna dari latar belakang.
RotateFlip(RotateFlipType)
Melakukan rotasi, flipping, atau keduanya pada bingkai aktif secara eksklusif.mengaplikasikan transformasi hanya pada kerangka yang aktif saat ini dari gambar,memelihara integritas kerangka lain dalam urutan.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Jenis flip rotasi.
Examples
Contoh ini memuat gambar GIF, memutarnya dengan 90 derajat jam dan secara opsional memutar gambar secara horizontal dan/atau vertikal.
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)
Simpan data tersebut.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Aliran untuk menyimpan data ke.
SetFrameTime(Kemenangan)
Menetapkan durasi setiap bingkai dalam milisekund, memastikan timing yang konsistensepanjang urutan gambar. metode ini secara seragam menetapkan waktu paparan untukSetiap frame, memungkinkan kontrol yang tepat atas kecepatan animasi.Mengubah nilai ini akan memperpanjang keterlambatan untuk semua bingkai.
public void SetFrameTime(ushort time)
Parameters
time
ushort
Waktu jangka panjang dalam milisekunder.
UpdateDimensions(dengan int, int)
Mengemas kini dimensi gambar.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Gambar baru yang luas.
newHeight
int
Ketinggian gambar baru.