GifOptions

GifOptions class

خيارات إنشاء تنسيق ملف gif .

public class GifOptions : ImageOptionsBase

المنشئون

اسموصف
GifOptions()يقوم بتهيئة مثيل جديد لملفGifOptions فئة .
GifOptions(GifOptions)يقوم بتهيئة مثيل جديد لملفGifOptions فئة .

الخصائص

اسموصف
BackgroundColor { get; set; }الحصول على لون الخلفية أو تعيينه.
BackgroundColorIndex { get; set; }الحصول على فهرس لون خلفية GIF أو تعيينه.
BufferSizeHint { get; set; }الحصول على أو تعيين تلميح حجم المخزن المؤقت الذي تم تحديده بالحجم الأقصى المسموح به لجميع المخازن المؤقتة الداخلية.
ColorResolution { get; set; }الحصول على دقة ألوان GIF أو تعيينها.
Disposed { get; }يحصل على قيمة تشير إلى ما إذا كان هذا المثيل قد تم التخلص منه.
DoPaletteCorrection { get; set; }الحصول على أو تعيين قيمة تشير إلى ما إذا كان قد تم تطبيق تصحيح لوح الألوان .
FullFrame { get; set; }الحصول على أو تعيين قيمة تشير إلى ما إذا كان [إطار كامل] .
HasTrailer { get; set; }الحصول على أو تعيين قيمة تشير إلى ما إذا كان GIF يحتوي على مقطع دعائي .
HasTransparentColor { get; set; }الحصول على أو تعيين قيمة تشير إلى ما إذا كانت صورة GIF لها لون شفاف.
Interlaced { get; set; }صحيح إذا كان يجب تشابك الصورة .
IsPaletteSorted { get; set; }الحصول على أو تعيين قيمة تشير إلى ما إذا كانت مدخلات اللوحة مرتبة أم لا.
LoopsCount { get; set; }الحصول على عدد الحلقات أو تعيينه (حلقة واحدة افتراضية)
MaxDiff { get; set; }الحصول على أو تحديد أقصى فرق بكسل مسموح به. إذا كانت القيمة أكبر من الصفر ، فسيتم استخدام ضغط الفقد . القيمة الموصى بها للضغط الأمثل مع فقدان البيانات هي 80. 30 ضغط خفيف جدًا ، و 200 ثقيل . يعمل بشكل أفضل عند تقديم خسارة قليلة فقط ، وبسبب قيود خوارزمية الضغط مستويات الخسارة العالية جدًا لن تعطي قدرًا كبيرًا من المكاسب . نطاق القيم المسموح بها هو [0 ، 1000] .
MultiPageOptions { get; set; }خيارات متعدد الصفحات
virtual Palette { get; set; }الحصول على لوحة الألوان أو تعيينها .
PixelAspectRatio { get; set; }الحصول على أو تعيين نسبة العرض إلى الارتفاع بتنسيق GIF بكسل.
ProgressEventHandler { get; set; }الحصول على معالج حدث التقدم أو تعيينه.
virtual ResolutionSettings { get; set; }الحصول على إعدادات الدقة أو تعيينها .
Source { get; set; }الحصول على أو تعيين المصدر لإنشاء الصورة فيه.
VectorRasterizationOptions { get; set; }الحصول على أو تعيين خيارات التحويل النقطي للمتجه.
override XmpData { get; set; }الحصول على أو تعيين حاوية بيانات تعريف XMP.

طُرق

اسموصف
virtual Clone()استنساخ هذا المثال .
Dispose()التخلص من المثيل الحالي .

أمثلة

يوضح هذا المثال استخدام فئات مختلفة من SaveOptions Namespace لأغراض التصدير. يتم تحميل صورة من نوع Gif في مثيل Image ثم تصديرها إلى عدة تنسيقات.

[C#]

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

// تحميل صورة موجودة (من النوع Gif) في مثيل لفئة Image
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
    // تصدير إلى تنسيق ملف BMP باستخدام الخيارات الافتراضية
    image.Save(dir + "output.bmp", new Aspose.Imaging.ImageOptions.BmpOptions());

    // تصدير إلى تنسيق ملف JPEG باستخدام الخيارات الافتراضية
    image.Save(dir + "output.jpg", new Aspose.Imaging.ImageOptions.JpegOptions());

    // تصدير إلى تنسيق ملف PNG باستخدام الخيارات الافتراضية
    image.Save(dir + "output.png", new Aspose.Imaging.ImageOptions.PngOptions());

    // تصدير إلى تنسيق ملف TIFF باستخدام الخيارات الافتراضية
    image.Save(dir + "output.tif", new Aspose.Imaging.ImageOptions.TiffOptions(Aspose.Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default));
}

يوضح المثال التالي كيفية تحويل صورة متجهة متعددة الصفحات إلى تنسيق GIF بشكل عام دون الرجوع إلى نوع صورة معين.

[C#]

string dir = "C:\\aspose.imaging\\net\\misc\\ImagingReleaseQATester\\Tests\\testdata\\2548";
string inputFilePath = System.IO.Path.Combine(dir, "Multipage.cdr");
string outputFilePath = System.IO.Path.Combine(dir, "Multipage.cdr.gif");

Aspose.Imaging.ImageOptionsBase exportOptions = new Aspose.Imaging.ImageOptions.GifOptions();

using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFilePath))
{
    exportOptions.MultiPageOptions = null;

    // تصدير أول صفحتين فقط. سيتم تقديم هذه الصفحات كإطارات متحركة في ملف GIF الناتج.
    Aspose.Imaging.IMultipageImage multipageImage = image as Aspose.Imaging.IMultipageImage;
    if (multipageImage != null && (multipageImage.Pages != null && multipageImage.PageCount > 2))
    {
        exportOptions.MultiPageOptions = new Aspose.Imaging.ImageOptions.MultiPageOptions(new Aspose.Imaging.IntRange(0, 2));
    }

    if (image is Aspose.Imaging.VectorImage)
    {
        exportOptions.VectorRasterizationOptions = (Aspose.Imaging.ImageOptions.VectorRasterizationOptions)image.GetDefaultOptions(new object[] { Aspose.Imaging.Color.White, image.Width, image.Height });
        exportOptions.VectorRasterizationOptions.TextRenderingHint = Aspose.Imaging.TextRenderingHint.SingleBitPerPixel;
        exportOptions.VectorRasterizationOptions.SmoothingMode = Aspose.Imaging.SmoothingMode.None;
    }

    image.Save(outputFilePath, exportOptions);
}

يوضح هذا المثال كيفية تحميل معلومات البكسل في مصفوفة من نوع اللون ، ومعالجة المصفوفة وإعادة تعيينها إلى الصورة. لإجراء هذه العمليات ، يقوم هذا المثال بإنشاء ملف صورة جديد (بتنسيق GIF) كائن MemoryStream.

[C#]

// إنشاء مثيل MemoryStream
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
    // إنشاء مثيل لـ GifOptions وتعيين خصائصه المختلفة بما في ذلك خاصية المصدر
    Aspose.Imaging.ImageOptions.GifOptions gifOptions = new Aspose.Imaging.ImageOptions.GifOptions();
    gifOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream);

    // إنشاء مثيل للصورة
    using (Aspose.Imaging.RasterImage image = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Create(gifOptions, 500, 500))
    {
        // احصل على وحدات البكسل في الصورة عن طريق تحديد المنطقة كحدود للصورة
        Aspose.Imaging.Color[] pixels = image.LoadPixels(image.Bounds);

        // حلقة فوق المصفوفة وتعيين لون البكسل المفهرس
        for (int index = 0; index < pixels.Length; index++)
        {
            if (index % 2 == 0)
            {
                // اضبط لون البكسل المفهرس على اللون الأصفر
                pixels[index] = Aspose.Imaging.Color.Yellow;
            }
            else
            {
                // اضبط لون البكسل المفهرس على اللون الأزرق
                pixels[index] = Aspose.Imaging.Color.Blue;
            }
        }

        // قم بتطبيق تغييرات البكسل على الصورة
        image.SavePixels(image.Bounds, pixels);

        // احفظ جميع التغييرات.
        image.Save();
    }

    // اكتب MemoryStream إلى ملف
    using (System.IO.FileStream fileStream = new System.IO.FileStream(@"C:\temp\output.gif", System.IO.FileMode.Create))
    {
        stream.WriteTo(fileStream);
    }   
}

أنظر أيضا