Class EmfImage

Class EmfImage

اسم الفضاء : Aspose.Imaging.FileFormats.Emf تجميع: Aspose.Imaging.dll (25.4.0)

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

[JsonObject(MemberSerialization.OptIn)]
public sealed class EmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage EmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

الأعضاء الموروثين

MetaImage.GetUsedFonts() , MetaImage.GetMissedFonts() , MetaImage.ResizeCanvas(Rectangle) , MetaImage.Records , VectorImage.GetEmbeddedImages() , VectorImage.RemoveBackground() , VectorImage.RemoveBackground(RemoveBackgroundSettings) , VectorImage.Resize(int, int, ResizeType) , VectorImage.Resize(int, int, ImageResizeSettings) , VectorImage.RotateFlip(RotateFlipType) , VectorImage.Crop(Rectangle) , VectorImage.Rotate(float) , VectorImage.SizeF , VectorImage.WidthF , VectorImage.HeightF , VectorImage.Width , VectorImage.Height , 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

يظهر المثال التالي كيفية تحويل صورة emz إلى emf fromat

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 fromat

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});
                                                                                }

يظهر المثال التالي كيفية تحويل الصور المضغوطة (إمز ،.wmz، *.svgz) إلى raster fromat

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.

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

                                                                                                                      // Using Aspose.Imaging.Image.Load is a unified way to load all types of images including 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();

                                                                                                                          // Text will be converted to shapes.
                                                                                                                          saveOptions.TextAsShapes = true;

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

                                                                                                                          // The background color of the drawing surface.
                                                                                                                          rasterizationOptions.BackgroundColor = Aspose.Imaging.Color.WhiteSmoke;

                                                                                                                          // The page size.
                                                                                                                          rasterizationOptions.PageSize = emfImage.Size;

                                                                                                                          // If embedded emf exists, then render emf; otherwise render wmf.
                                                                                                                          rasterizationOptions.RenderMode = Aspose.Imaging.FileFormats.Emf.EmfRenderMode.Auto;

                                                                                                                          // Set the horizontal margin
                                                                                                                          rasterizationOptions.BorderX = 50;

                                                                                                                          // Set the vertical margin
                                                                                                                          rasterizationOptions.BorderY = 50;

                                                                                                                          saveOptions.VectorRasterizationOptions = rasterizationOptions;

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

Constructors

EmfImage()

ابدأ العمل مع صور EMF من خلال إطلاق مثال جديد منAspose.Imaging.FileFormats.Emf.EmfImage فئة مثالية لدمج الصور EMF بسرعة فيمشاريعك بسهولة وكفاءة.

[JsonConstructor]
public EmfImage()

EmfImage(إنت، إنت)

إنشاء مثال جديد من فئة Aspose.Imaging.FileFormats.Emf.EmfImage عن طريق تحديد العرضوارتفاع المعلمات.هذا البناء يسهل عملية البدءصور EMF مع أبعاد محددة، وتعزيز كفاءة تطويركتدفق العمل

public EmfImage(int width, int height)

Parameters

width int

على نطاق

height int

الارتفاع .

Properties

BitsPerPixel

استرداد عدد bit-per-pixel محددة للصور راستر، لأن هذا المعيارلا ينطبق على الصور الفكتيرية.تحديد بسرعة عمق البكسلصور للتحليل الدقيق والتلاعب، وضمان التعامل الدقيقبيانات الصورة .

public override int BitsPerPixel { get; }

قيمة الممتلكات

int

Exceptions

NotImplementedException

غير مؤهلة للصور الفكتورية.

FileFormat

الوصول إلى قيمة تنسيق الملف المرتبطة بالكائن بسهولةتنسيق الملف المرتبط بموضوع المعالجة المتسارعة والتحقق من التوافق: تبسيط تدفق العمل الخاص بك عن طريق استرداد تنسيق الملفالمعلومات بسهولة

public override FileFormat FileFormat { get; }

قيمة الممتلكات

FileFormat

Header

استرداد أو تعديل سجل العناوين الميتافيلية EMF مع هذه الممتلكات.إدارة البيانات الميتافيلي بكفاءة داخل تطبيقك.تحسين تدفق العمل الخاص بكمع الوصول السريع إلى معلومات العنوان الميتافيلي.

public EmfMetafileHeader Header { get; set; }

قيمة الممتلكات

EmfMetafileHeader

الارتفاع

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

public override float HeightF { get; }

قيمة الممتلكات

float

IsCached

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

public override bool IsCached { get; }

قيمة الممتلكات

bool

Records

استرداد أو تعديل السجلات المرتبطة بالكائن.إدارة جمع السجلات من أجل تحسين معالجة البيانات ومعالجتها.تحسين تدفق العمل الخاص بك عن طريق التفاعل بسهولة مع سجلات الكائن.

public override MetaObjectList Records { get; set; }

قيمة الممتلكات

MetaObjectList

فيتف

الوصول إلى عرض الصورة، وتوفير المعلومات الأساسية للحصول على دقةالتصوير والتجهيز.سريع الاستيلاء على عرض الصورة لضمان التوافقوتصميم مناسب داخل مختلف التطبيقات والمنصات.

public override float WidthF { get; }

قيمة الممتلكات

float

Methods

CacheData()

التخزين الفعال للبيانات وتجنب التحميل المتقلب من الأساسيةAspose.Imaging.DataStreamSupporter.DataStreamContainer مع هذه الطريقة.أداء وتسريع الوصول إلى البيانات في تطبيقك، وتحسين المواردالاستخدام لتحسين الاستجابة.

public override void CacheData()

Examples

هذا المثال يظهر كيفية تحميل صورة EMF من ملف وقائمة جميع سجلاتها.

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

                                                                                              // Using Aspose.Imaging.Image.Load is a unified way to load all types of images including WMF.
                                                                                              using (Aspose.Imaging.FileFormats.Emf.EmfImage emfImage = (Aspose.Imaging.FileFormats.Emf.EmfImage)Aspose.Imaging.Image.Load(dir + "test.emf"))
                                                                                              {
                                                                                                  // Cache data to load all records.
                                                                                                  emfImage.CacheData();
                                                                                                  System.Console.WriteLine("The total number of records: {0}", emfImage.Records.Count);

                                                                                                  // The key is a record type, the value is number of records of that type in the WMF image.
                                                                                                  System.Collections.Generic.Dictionary<system.type, int=""> types =
                                                                                                      new System.Collections.Generic.Dictionary<system.type, int="">();

                                                                                                  // Gather statistics 
                                                                                                  foreach (Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfRecord obj in emfImage.Records)
                                                                                                  {
                                                                                                      System.Type objType = obj.GetType();
                                                                                                      if (!types.ContainsKey(objType))
                                                                                                      {
                                                                                                          types.Add(objType, 1);
                                                                                                      }
                                                                                                      else
                                                                                                      {
                                                                                                          types[objType]++;
                                                                                                      }
                                                                                                  }

                                                                                                  // Print statistics
                                                                                                  System.Console.WriteLine("Record Type                              Count");
                                                                                                  System.Console.WriteLine("----------------------------------------------");
                                                                                                  foreach (System.Collections.Generic.KeyValuePair<system.type, int=""> entry in types)
                                                                                                  {
                                                                                                      string objectType = entry.Key.Name;
                                                                                                      string alignmentGap = new string(' ', 40 - objectType.Length);
                                                                                                      System.Console.WriteLine("{0}:{1}{2}", entry.Key.Name, alignmentGap, entry.Value);
                                                                                                  }
                                                                                              }

                                                                                              //The output may look like this:
                                                                                              //The total number of records: 1188
                                                                                              //Record Type                              Count
                                                                                              //----------------------------------------------
                                                                                              //EmfMetafileHeader:                       1
                                                                                              //EmfSetBkMode:                            1
                                                                                              //EmfSetTextAlign:                         1
                                                                                              //EmfSetRop2:                              1
                                                                                              //EmfSetWorldTransform:                    1
                                                                                              //EmfExtSelectClipRgn:                     1
                                                                                              //EmfCreateBrushIndirect:                  113
                                                                                              //EmfSelectObject:                         240
                                                                                              //EmfCreatePen:                            116
                                                                                              //EmfSetPolyFillMode:                      1
                                                                                              //EmfBeginPath:                            120
                                                                                              //EmfMoveToEx:                             122
                                                                                              //EmfPolyBezierTo16:                       36
                                                                                              //EmfLineTo:                               172
                                                                                              //EmfCloseFigure:                          14
                                                                                              //EmfEndPath:                              120
                                                                                              //EmfStrokeAndFillPath:                    113
                                                                                              //EmfStrokePath:                           7
                                                                                              //EmfSetTextColor:                         2
                                                                                              //EmfExtCreateFontIndirectW:               2
                                                                                              //EmfExtTextOutW:                          2
                                                                                              //EmfStretchBlt:                           1
                                                                                              //EmfEof:                                  1</system.type,></system.type,></system.type,>

GetDefaultOptions(الموضوع[])

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

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object [ ]

من الحجج .

Returns

ImageOptionsBase

الخيارات الافتراضية

GetOriginalOptions()

احصل على خيارات الصورة الأصلية.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

خيارات الصورة الأصلية.

GetUsedFonts()

استرداد قائمة الخطوط المستخدمة داخل الميتافيلي باستخدام هذه الطريقة.إدراك استخدام الخطوط، وتسهيل الإدارة الفعالة وتحسين الخطوطالموارد المتاحة لتعزيز العرض والإخلاص.

public override string[] GetUsedFonts()

Returns

string [ ]

قائمة الأصوات

ResizeCanvas(Rectangle)

إعادة تدوير الأقواس بسهولة باستخدام هذه الوظيفة مثالية للتعديل العامحجم الصورة دون تغيير محتوى الصورة.تحسين عرض وإعداد الصور لمختلف أحجام العرض بسهولة.

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

الجانب المستقيم الجديد

SetPalette(اللوحة، بول)

إعداد لوحة الصورة.

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

اللوحة التي يجب وضعها.

updateColors bool

إذا قمت بتعيين الألوان “الحقيقية” سيتم تحديثها وفقًا للجدول الجديد ؛ وإلا فإن مؤشرات الألوان لا تزال غير متغيرة.

Exceptions

NotImplementedException

 عربي