Class WmfImage

Class WmfImage

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

التعامل مع صور Microsoft Windows Metafile (WMF) باستخدام API الخاص بنامعالجة كل من البيانات الفكتور والخرائط bitmap المخزنة داخل سجلات الطول المتغير.إعادة تدوير وتدوير وتشغيل الصور بسهولة مع إعداد لوحات الصور المخصصة.تحويل ملفات WMF إلى تنسيقات WMZ المضغوطة أو حفظها في تنسيقات الصورللاستخدام المتنوع عبر المنصات والتطبيقات.

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

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage WmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

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

MetaImage.GetUsedFonts() , MetaImage.GetMissedFonts() , MetaImage.ResizeCanvas(Rectangle) , MetaImage.GetCanNotSaveMessage(ImageOptionsBase) , MetaImage.SaveData(Stream) , 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.Modify(RectangleF, float, float, 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.UpdateContainer(Image) , Image.GetCanNotSaveMessage(ImageOptionsBase) , Image.GetFitRectangle(Rectangle) , Image.GetImage2Export(ImageOptionsBase, Rectangle, IImageExporter) , Image.GetFitRectangle(Rectangle, int[]) , Image.OnPaletteChanged(IColorPalette, IColorPalette) , Image.OnPaletteChanging(IColorPalette, IColorPalette) , Image.ReleaseManagedResources() , 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.timeout , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.SaveData(Stream) , DataStreamSupporter.ReleaseManagedResources() , DataStreamSupporter.OnDataStreamContainerChanging(StreamContainer) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.ReleaseManagedResources() , DisposableObject.ReleaseUnmanagedResources() , DisposableObject.VerifyNotDisposed() , DisposableObject.Disposed , object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Examples

يظهر المثال التالي كيفية تحويل صورة WMZ إلى صورة WMF

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

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

string file = "castle.wmf";
                                                                                string baseFolder = System.IO.Path.Combine("D:", "Compressed");
                                                                                string inputFile = System.IO.Path.Combine(baseFolder, file);
                                                                                string outFile = inputFile + ".wmz";
                                                                                using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
                                                                                {
                                                                                    Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = new Aspose.Imaging.ImageOptions.WmfRasterizationOptions() { PageSize = image.Size};
                                                                                    image.Save(outFile, new Aspose.Imaging.ImageOptions.WmfOptions() {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});
                                                                                                                    }
                                                                                                                }

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

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.Wmf.WmfImage wmfImage = (Aspose.Imaging.FileFormats.Wmf.WmfImage)Aspose.Imaging.Image.Load(dir + "test.wmf"))
                                                                                                                      {
                                                                                                                          Aspose.Imaging.ImageOptions.SvgOptions saveOptions = new Aspose.Imaging.ImageOptions.SvgOptions();

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

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

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

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

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

                                                                                                                          saveOptions.VectorRasterizationOptions = rasterizationOptions;

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

Constructors

WmfImage()

إنشاء مثال جديد من فئة Aspose.Imaging.FileFormats.Wmf.WmfImage، وإطلاقه علىمزيد من التلاعب ومعالجة بيانات الصورة من Windows Metafile (WMF).يقدم المصمم كائنًا أساسيًا للعمل مع صور WMF ، مما يتيحالتكامل السليم لقدرات التعامل مع الصور WMF في تطبيقكوظيفية .

[JsonConstructor]
public WmfImage()

WmfImage(إنت، إنت)

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

public WmfImage(int width, int height)

Parameters

width int

على نطاق

height int

الارتفاع .

Properties

BitsPerPixel

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

[JsonIgnore]
public override int BitsPerPixel { get; }

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

int

Exceptions

NotImplementedException

FileFormat

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

public override FileFormat FileFormat { get; }

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

FileFormat

FrameBounds

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

public Rectangle FrameBounds { get; }

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

Rectangle

الارتفاع

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

public override float HeightF { get; }

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

float

Exceptions

NotImplementedException

Inch

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

public int Inch { get; set; }

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

int

IsCached

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

public override bool IsCached { get; }

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

bool

Exceptions

NotImplementedException

فيتف

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

public override float WidthF { get; }

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

float

Exceptions

NotImplementedException

Methods

AddRecord(WmfObject)

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

public int AddRecord(WmfObject record)

Parameters

record WmfObject

هذا الرقم القياسي

Returns

int

عدد السجلات .

CacheData()

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

public override void CacheData()

Examples

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

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.Wmf.WmfImage wmfImage = (Aspose.Imaging.FileFormats.Wmf.WmfImage)Aspose.Imaging.Image.Load(dir + "test.wmf"))
                                                                                              {
                                                                                                  // Cache data to load all records.
                                                                                                  wmfImage.CacheData();
                                                                                                  System.Console.WriteLine("The total number of records: {0}", wmfImage.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.Wmf.Objects.WmfObject obj in wmfImage.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: 613
                                                                                              //Record Type                              Count
                                                                                              //----------------------------------------------
                                                                                              //WmfSetBkMode:                            1
                                                                                              //WmfSetTextAlign:                         1
                                                                                              //WmfSetRop2:                              1
                                                                                              //WmfSetWindowOrg:                         1
                                                                                              //WmfSetWindowExt:                         1
                                                                                              //WmfCreateBrushInDirect:                  119
                                                                                              //WmfSelectObject:                         240
                                                                                              //WmfCreatePenInDirect:                    119
                                                                                              //WmfSetPolyFillMode:                      1
                                                                                              //WmfPolyPolygon:                          114
                                                                                              //WmfPolyLine:                             7
                                                                                              //WmfSetTextColor:                         2
                                                                                              //WmfCreateFontInDirect:                   2
                                                                                              //WmfExtTextOut:                           2
                                                                                              //WmfDibStrechBlt:                         1
                                                                                              //WmfEof:                                  1</system.type,></system.type,></system.type,>

Exceptions

NotImplementedException

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

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

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object [ ]

من الحجج .

Returns

ImageOptionsBase

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

GetOriginalOptions()

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

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

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

GetPostScript()

الوصول إلى بيانات PostScript المرتبطة بالصورة، وتوفير تفاصيلمعلومات عن هيكلها أو محتوياتها.استخدم هذه الطريقة للحصول علىبيانات PostScript لمزيد من التحليل أو المعالجة داخل تطبيقك،تتيح الوظائف المتقدمة المرتبطة بـ PostScript rendering أو manipulation.

public string GetPostScript()

Returns

string

المقالة السيناريو

GetUsedFonts()

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

public override string[] GetUsedFonts()

Returns

string [ ]

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

ResizeCanvas(Rectangle)

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

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

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

Exceptions

NotImplementedException

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

تطبيق لوحة محددة على الصورة ، مما يسمح بتخصيص الألواناستخدام هذه الطريقة لتعزيز التصوير البصري وتقديمتأثيرات اللون المحددة داخل تطبيقك.

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

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

updateColors bool

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

Exceptions

NotImplementedException

 عربي