الفئة BmpOptions

BmpOptions class

واجهة برمجة التطبيقات لإنشاء خيارات صيغة صورة BMP و DIB النقطية توفر للمطورين مجموعة أدوات متعددة الاستخدامات لتوليد صور Bitmap (BMP) و Device Independent Bitmap (DIB) مخصصة. باستخدام هذه الواجهة، يمكنك تحديد خصائص الصورة بدقة مثل عدد البتات لكل بكسل، مستوى الضغط ونوع الضغط، لتكييف النتيجة وفقًا للمتطلبات المحددة. تُمكّن هذه الواجهة الغنية بالميزات المطورين من إنشاء صور نقطية عالية الجودة ومخصصة بسهولة ومرونة لتطبيقات متنوعة.

public class BmpOptions : ImageOptionsBase

المنشئات

الاسمالوصف
BmpOptions()ينشئ مثيلًا جديدًا للفئة BmpOptions.
BmpOptions(BmpOptions)ينشئ مثيلًا جديدًا للفئة BmpOptions.

الخصائص

الاسمالوصف
BitsPerPixel { get; set; }يحصل أو يضبط عدد البتات لكل بكسل في الصورة.
BufferSizeHint { get; set; }الحصول على أو تعيين تلميح حجم المخزن المؤقت الذي يحدد الحد الأقصى المسموح به لجميع المخازن الداخلية.
Compression { get; set; }يحصل أو يضبط نوع الضغط. النوع الافتراضي للضغط هو Bitfields، الذي يسمح بحفظ BmpImage مع الشفافية.
Disposed { get; }يحصل على قيمة تشير إلى ما إذا كان هذا المثال تم التخلص منه.
virtual ExifData { get; set; }الحصول على أو تعيين بيانات Exif.
FullFrame { get; set; }يحصل أو يضبط قيمة تشير إلى ما إذا كان [full frame].
KeepMetadata { get; set; }يحصل على قيمة ما إذا كان يجب الاحتفاظ ببيانات تعريف الصورة الأصلية عند التصدير.
MultiPageOptions { get; set; }خيارات الصفحات المتعددة
virtual Palette { get; set; }يحصل أو يضبط لوحة الألوان.
ProgressEventHandler { get; set; }يحصل أو يضبط معالج حدث التقدم.
virtual ResolutionSettings { get; set; }يحصل أو يضبط إعدادات الدقة.
Source { get; set; }يحصل أو يضبط المصدر لإنشاء الصورة فيه.
VectorRasterizationOptions { get; set; }يحصل أو يضبط خيارات تحويل المتجه إلى نقطية.
virtual XmpData { get; set; }يحصل أو يضبط حاوية بيانات تعريف XMP.

الطرق

الاسمالوصف
virtual Clone()ينشئ نسخة عضوية من هذه الحالة.
Dispose()يتخلص من المثيل الحالي.
TrySetMetadata(IImageMetadataFormat)يحاول تعيين مثيل metadata، إذا كان مثيل Image يدعم ويطبق مثيل IImageMetadataFormat.

أمثلة

هذا المثال ينشئ ملف صورة جديد في موقع على القرص كما هو محدد بواسطة خاصية Source لكائن BmpOptions. يتم تعيين عدة خصائص لكائن BmpOptions قبل إنشاء الصورة الفعلية. خاصةً خاصية Source التي تشير إلى موقع القرص الفعلي في هذه الحالة.

[C#]

//أنشئ مثيلاً من BmpOptions وعيّن خصائصه المتنوعة
Aspose.Imaging.ImageOptions.BmpOptions bmpOptions = new Aspose.Imaging.ImageOptions.BmpOptions();
bmpOptions.BitsPerPixel = 24;

//أنشئ مثيلاً من FileCreateSource وعيّنها كمصدر للمثيل من BmpOptions
//المعامل المنطقي الثاني يحدد ما إذا كان الملف الذي سيُنشأ مؤقتًا أم لا
bmpOptions.Source = new Aspose.Imaging.Sources.FileCreateSource(@"C:\temp\output.bmp", false);

//إنشاء كائن من نوع Image وتهيئته بكائن BmpOptions عن طريق استدعاء طريقة Create.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Create(bmpOptions, 500, 500))
{
    //قم ببعض معالجة الصورة.

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

يوضح هذا المثال استخدام فئات مختلفة من مساحة الأسماء SaveOptions لأغراض التصدير. يتم تحميل صورة من نوع 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));
}

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

[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.bmp");

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

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

    // قم بتصدير الصفحتين الأوليتين فقط. في الواقع، سيتم تحويل صفحة واحدة فقط إلى نقطية لأن BMP ليس تنسيقًا متعدد الصفحات.
    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);
}

انظر أيضًا