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(int، int)

ایجاد یک مثال جدید از کلاس Aspose.Imaging.FileFormats.Emf.EmfImage با مشخص کردن عرضو پارامترهای ارتفاع.این سازنده فرآیند شروع را ساده تر می کندتصاویر EMF با ابعاد خاص، بهبود بهره وری توسعه خود راجریان کار

public EmfImage(int width, int height)

Parameters

width int

در عرض

height int

ارتفاع است.

Properties

BitsPerPixel

بازگرداندن شمارش بیت به پیکسل خاص به تصاویر راستر، به عنوان این پارامترنمی تواند برای تصاویر وکتور اعمال شود.به سرعت پکسل عمق راستر را تشخیص دهیدتصاویر برای تجزیه و تحلیل دقیق و دستکاری، اطمینان از پردازش دقیقاز داده های تصویر

public override int BitsPerPixel { get; }

ارزش املاک

int

Exceptions

NotImplementedException

ناسازگاری برای تصاویر وکتور

FileFormat

دسترسی به ارزش فرمت فایل مرتبط با موضوع.به راحتی تعیینفرمت فایل مرتبط با موضوع برای پردازش دقیق وبررسی سازگاری: جریان کار خود را با بازگرداندن فرمت فایل ساده تر کنیداطلاعات به راحتی

public override FileFormat FileFormat { get; }

ارزش املاک

FileFormat

Header

بازگرداندن یا تغییر رکورد عنوان متافیل EMF با این دارایی.مدیریت داده های متافیل به طور موثر در برنامه شما.بهبود جریان کار خود رابا دسترسی سریع به اطلاعات عنوان متافیل.

public EmfMetafileHeader Header { get; set; }

ارزش املاک

EmfMetafileHeader

ارتفاع F

ارتفاع تصویر را بازگردانید و تنظیمات دقیق راندینگ و طرح را تسهیل کنید.دسترسی به ویژگی ارتفاع تضمین سازگاری و یکپارچگی بی سیم در سراسرپلتفرم ها و برنامه های مختلف

public override float HeightF { get; }

ارزش املاک

float

IsCached

دسترسی به یک مقدار نشان می دهد که آیا داده های شی در حال حاضر مخفی شده است یا خیر،از بین بردن نیاز به خواندن داده های اضافی.به سرعت بهبود بهره وریتعیین اینکه آیا داده های مخفی شده برای دسترسی فوری در دسترس هستند.بهینه سازیجریان کار با فرآیندهای جمع آوری داده های سریع

public override bool IsCached { get; }

ارزش املاک

bool

Records

بازگرداندن یا تغییر سوابق مرتبط با موضوع. دسترسی موثر ومدیریت جمع آوری سوابق برای بهبود دستکاری و پردازش داده ها.جریان کار خود را با تعامل بی رحمانه با سوابق اشیاء بهینه کنید.

public override MetaObjectList Records { get; set; }

ارزش املاک

MetaObjectList

WidthF

دسترسی به عرض تصویر، ارائه اطلاعات ضروری برای دقتراندینگ و پردازش. به سرعت به دست آوردن عرض تصویر برای اطمینان از سازگاریو طرح مناسب در برنامه های مختلف و پلتفرم ها.

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(بایگانی برچسب ها: bool)

پالت تصویر را نصب کنید.

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

پالت را تنظیم کنید.

updateColors bool

اگر به رنگ های “واقعی” تنظیم شده باشد، با توجه به پالت جدید به روز خواهد شد؛ در غیر این صورت شاخص های رنگی بدون تغییر باقی می مانند. توجه داشته باشید که شاخص های بدون تغییر ممکن است تصویر در بارگذاری شکسته شود اگر برخی از شاخص ها ورودی های پالت مربوطه ندارند.

Exceptions

NotImplementedException

 فارسی