الفئة EmfImage

EmfImage class

واجهة برمجة التطبيقات لدعم تنسيق الصورة المتجهية Enhanced Metafile Format (EMF) هي أداة شاملة لمعالجة الصور الرسومية بطريقة غير معتمدة على الجهاز مع الحفاظ على خصائصها الأصلية. تم تطويرها للحفاظ على النسب والأبعاد والألوان وغيرها من سمات الرسوم، وتضم دعم تنسيق EMF Plus وميزات لقص المناطق، تغيير حجم اللوحة والصور، التدوير، العكس، ضبط لوحات ألوان الصور، التصدير والاستيراد إلى سياق جهاز APS، الضغط وتحويل EMF إلى تنسيقات أخرى، مما يضمن معالجة متعددة الاستخدامات وتكامل سلس لصور EMF عبر التطبيقات.

public sealed class EmfImage : MetaImage

المنشئات

الاسمالوصف
EmfImage()ابدأ العمل مع صور EMF بإنشاء مثيل جديد من الفئة EmfImage. مثالي لإدراج صور EMF بسرعة في مشاريعك بسهولة وكفاءة.
EmfImage(int, int)أنشئ مثيلًا جديدًا من الفئة EmfImage عن طريق تحديد معلمات العرض والارتفاع. يبسط هذا المُنشئ عملية إنشاء صور EMF بأبعاد محددة، مما يعزز كفاءة سير عمل التطوير الخاص بك.

الخصائص

الاسمالوصف
AutoAdjustPalette { get; set; }الحصول على أو تعيين قيمة تشير إلى ما إذا كان يتم تعديل اللوحة تلقائيًا.
virtual BackgroundColor { get; set; }الحصول على أو تعيين قيمة للون الخلفية.
override BitsPerPixel { get; }استرجع عدد البتات لكل بكسل الخاص بالصور النقطية، حيث لا ينطبق هذا المعامل على الصور المتجهية. حدد بسرعة عمق البكسل للصور النقطية لتحليل ومعالجة دقيقة، مما يضمن التعامل الصحيح مع بيانات الصورة.
Bounds { get; }الحصول على حدود الصورة.
BufferSizeHint { get; set; }الحصول على أو تعيين تلميح حجم المخزن المؤقت الذي يحدد الحد الأقصى المسموح به لجميع المخازن الداخلية.
Container { get; }الحصول على حاوية Image.
DataStreamContainer { get; }الحصول على تدفق بيانات الكائن.
Disposed { get; }يحصل على قيمة تشير إلى ما إذا كان هذا المثال تم التخلص منه.
ExifData { get; set; }الحصول على أو تعيين بيانات Exif.
override FileFormat { get; }الوصول إلى قيمة تنسيق الملف المرتبط بالكائن. حدد بسهولة تنسيق الملف المرتبط بالكائن لتسهيل المعالجة وفحوصات التوافق. بسط سير عملك باسترجاع معلومات تنسيق الملف بسهولة.
virtual HasBackgroundColor { get; set; }الحصول على أو تعيين قيمة تشير إلى ما إذا كانت الصورة لها لون خلفية.
Header { get; set; }استرجع أو عدل سجل رأس ملف الميتا EMF باستخدام هذه الخاصية. مثالي لإدارة بيانات ملف الميتا بكفاءة داخل تطبيقك. حسّن سير عملك من خلال وصول مبسط إلى معلومات رأس ملف الميتا.
override Height { get; }الحصول على ارتفاع الصورة.
override HeightF { get; }استرجع ارتفاع الصورة، مما يسهل العرض الدقيق وتعديل التخطيط. يضمن الوصول إلى خاصية الارتفاع التوافق والتكامل السلس عبر مختلف المنصات والتطبيقات.
InterruptMonitor { get; set; }الحصول على أو تعيين مراقب المقاطعة.
override IsCached { get; }الوصول إلى قيمة تشير إلى ما إذا كانت بيانات الكائن مخزنة مؤقتًا حاليًا، مما يلغي الحاجة إلى قراءة بيانات إضافية. عزّز الكفاءة من خلال تحديد سريع ما إذا كانت البيانات المخزنة متاحة للوصول الفوري. حسّن سير عملك بعمليات استرجاع بيانات مبسطة.
virtual Metadata { get; }يحصل على بيانات تعريف الصورة.
Palette { get; set; }يحصل أو يعيّن لوحة الألوان. لا تُستخدم لوحة الألوان عندما يتم تمثيل البكسلات مباشرةً.
override Records { get; set; }استرجع أو عدل السجلات المرتبطة بالكائن. وصول وإدارة فعّالة لمجموعة السجلات لتحسين معالجة البيانات وتعديلها. حسّن سير عملك من خلال التفاعل السلس مع سجلات الكائن.
Size { get; }يحصل على حجم الصورة.
SizeF { get; }يحصل على حجم الكائن، بالبوصة.
virtual UsePalette { get; }يحصل على قيمة تشير إلى ما إذا كانت لوحة ألوان الصورة مستخدمة.
override Width { get; }يحصل على عرض الصورة.
override WidthF { get; }الوصول إلى عرض الصورة، مما يوفر معلومات أساسية للتصيير الدقيق والمعالجة. استرجع عرض الصورة بسرعة لضمان التوافق والتخطيط السليم داخل التطبيقات والمنصات المختلفة.
XmpData { get; set; }يحصل أو يعيّن بيانات Xmp.

الطرق

الاسمالوصف
override CacheData()قم بتخزين البيانات مؤقتًا بكفاءة ومنع التحميل المتكرر من الـDataStreamContainer الأساسي باستخدام هذه الطريقة. حسّن الأداء وسهّل الوصول إلى البيانات في تطبيقك، مع تحسين استغلال الموارد للحصول على استجابة محسّنة.
CanSave(ImageOptionsBase)يحدد ما إذا كان يمكن حفظ الصورة بالتنسيق المحدد الممثل بخيارات الحفظ الممررة.
override Crop(Rectangle)يقص المستطيل المحدد.
virtual Crop(int, int, int, int)قص الصورة مع إزاحات.
Dispose()يتخلص من المثيل الحالي.
override GetDefaultOptions(object[])يحصل على خيارات الصورة الافتراضية.
virtual GetEmbeddedImages()يحصل على الصور المضمنة.
GetMissedFonts()يعيد قائمة الخطوط المستخدمة داخل ملف الميتا ولكن لم يتم العثور عليها.
override GetOriginalOptions()يحصل على خيارات الصورة الأصلية.
virtual GetSerializedStream(ImageOptionsBase, Rectangle, out int)يحول إلى aps.
override GetUsedFonts()استرجع قائمة الخطوط المستخدمة داخل ملف الميتا باستخدام هذه الطريقة. احصل على رؤى حول استخدام الخطوط، مما يسهل الإدارة الفعّالة وتحسين موارد الخطوط للحصول على تصيير وعرض أكثر دقة.
virtual RemoveBackground()يزيل الخلفية.
virtual RemoveBackground(RemoveBackgroundSettings)يزيل الخلفية.
virtual RemoveMetadata()يزيل البيانات الوصفية.
Resize(int, int)يُعيد تحجيم الصورة. يتم استخدام NearestNeighbourResample الافتراضي.
override Resize(int, int, ImageResizeSettings)يعيد تحجيم الصورة باستخدام خيارات موسعة.
override Resize(int, int, ResizeType)يعيد تحجيم العرض الجديد المحدد.
override ResizeCanvas(Rectangle)غيّر حجم اللوحة بسهولة باستخدام هذه الدالة. مثالية لضبط الأبعاد الكلية للصورة دون تعديل محتواها. حسّن العرض واستعد الصور لأحجام عرض مختلفة بسهولة.
ResizeHeightProportionally(int)يُعيد تحجيم الارتفاع بنسبية. يتم استخدام NearestNeighbourResample الافتراضي.
virtual ResizeHeightProportionally(int, ImageResizeSettings)يُعيد تحجيم الارتفاع بنسبية.
virtual ResizeHeightProportionally(int, ResizeType)يُعيد تحجيم الارتفاع بنسبية.
ResizeWidthProportionally(int)يقوم بتغيير عرض الصورة بشكل متناسب. يتم استخدام NearestNeighbourResample الافتراضي.
virtual ResizeWidthProportionally(int, ImageResizeSettings)يقوم بتغيير عرض الصورة بشكل متناسب.
virtual ResizeWidthProportionally(int, ResizeType)يقوم بتغيير عرض الصورة بشكل متناسب.
override Rotate(float)دوّر الصورة حول المركز.
override RotateFlip(RotateFlipType)يدور أو يقلب أو يدور ويقلب الصورة.
Save()يحفظ بيانات الصورة إلى الدفق الأساسي.
Save(Stream)يحفظ بيانات الكائن إلى الدفق المحدد.
override Save(string)يحفظ الصورة إلى موقع الملف المحدد.
Save(Stream, ImageOptionsBase)يحفظ بيانات الصورة إلى الدفق المحدد بالتنسيق الملف المحدد وفقًا لخيارات الحفظ.
virtual Save(string, bool)يحفظ بيانات الكائن إلى موقع الملف المحدد.
virtual Save(string, ImageOptionsBase)يحفظ بيانات الكائن إلى موقع الملف المحدد بالتنسيق الملف المحدد وفقًا لخيارات الحفظ.
virtual Save(Stream, ImageOptionsBase, Rectangle)يحفظ بيانات الصورة إلى الدفق المحدد بالتنسيق الملف المحدد وفقًا لخيارات الحفظ.
virtual Save(string, ImageOptionsBase, Rectangle)يحفظ بيانات الكائن إلى موقع الملف المحدد بالتنسيق الملف المحدد وفقًا لخيارات الحفظ.
override SetPalette(IColorPalette, bool)يضبط لوحة ألوان الصورة.
virtual TrySetMetadata(IImageMetadataFormat)يحاول تعيين كائن metadata، إذا كان هذا Image يدعم ويطبق نوع IImageMetadataFormat.

أمثلة

المثال التالي يوضح كيفية تحويل صور emz إلى تنسيق emf

[C#]

string file = "example.emz";
string baseFolder = System.IO.Path.Combine("D:", "Compressed");
string inputFile = System.IO.Path.Combine(baseFolder, file);
string outFile = inputFile + ".emf";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
{
    Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = new Aspose.Imaging.ImageOptions.EmfRasterizationOptions {PageSize = image.Size};
    image.Save(outFile, new Aspose.Imaging.ImageOptions.EmfOptions {VectorRasterizationOptions = vectorRasterizationOptions});
}

المثال التالي يوضح كيفية تحويل صور emf إلى تنسيق emz

[C#]

string file = "input.emf";
string baseFolder = System.IO.Path.Combine("D:", "Compressed");
string inputFile = System.IO.Path.Combine(baseFolder, file);
string outFile = inputFile + ".emz";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
{
    Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = new Aspose.Imaging.ImageOptions.EmfRasterizationOptions() { PageSize = image.Size};
    image.Save(outFile, new Aspose.Imaging.ImageOptions.EmfOptions() {VectorRasterizationOptions = vectorRasterizationOptions, Compress = true});
}

المثال التالي يوضح كيفية تحويل الصور المضغوطة (.emz,.wmz, *.svgz) إلى صيغة نقطية.

[C#]

string[] files = new[] {"example.emz", "example.wmz", "example.svgz"};
string baseFolder = System.IO.Path.Combine("D:","Compressed");
foreach (var file in files)
{
    string inputFile = System.IO.Path.Combine(baseFolder, file);
    string outFile = inputFile + ".png";
    using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
    {
        Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = (Aspose.Imaging.ImageOptions.VectorRasterizationOptions)image.GetDefaultOptions(new object[] { Color.White, image.Width, image.Height });
        image.Save(outFile, new Aspose.Imaging.ImageOptions.PngOptions(){VectorRasterizationOptions = vectorRasterizationOptions});
    }
}

يوضح هذا المثال كيفية تحميل صورة EMF من ملف وتحويلها إلى SVG باستخدام EmfRasterizationOptions.

[C#]

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

// استخدام Aspose.Imaging.Image.Load هو طريقة موحدة لتحميل جميع أنواع الصور بما في ذلك EMF.
using (Aspose.Imaging.FileFormats.Emf.EmfImage emfImage = (Aspose.Imaging.FileFormats.Emf.EmfImage)Aspose.Imaging.Image.Load(dir + "test.emf"))
{
    Aspose.Imaging.ImageOptions.SvgOptions saveOptions = new Aspose.Imaging.ImageOptions.SvgOptions();

    // سيتم تحويل النص إلى أشكال.
    saveOptions.TextAsShapes = true;

    Aspose.Imaging.ImageOptions.EmfRasterizationOptions rasterizationOptions = new Aspose.Imaging.ImageOptions.EmfRasterizationOptions();

    // لون خلفية سطح الرسم.
    rasterizationOptions.BackgroundColor = Aspose.Imaging.Color.WhiteSmoke;

    // حجم الصفحة.
    rasterizationOptions.PageSize = emfImage.Size;

    // إذا كان هناك emf مضمّن، فقم بعرض emf؛ وإلا عرض wmf.
    rasterizationOptions.RenderMode = Aspose.Imaging.FileFormats.Emf.EmfRenderMode.Auto;

    // عيّن الهامش الأفقي
    rasterizationOptions.BorderX = 50;

    // تعيين الهامش العمودي
    rasterizationOptions.BorderY = 50;

    saveOptions.VectorRasterizationOptions = rasterizationOptions;

    emfImage.Save(dir + "test.output.svg", saveOptions);
}

انظر أيضًا