Class EmfImage

Class EmfImage

Името на пространството: Aspose.Imaging.FileFormats.Emf Асамблея: Aspose.Imaging.dll (25.4.0)

API за поддръжка на Vector Image 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});
                                                                                }

Следващия пример показва как да конвертирате компресирани изображения (на EMZ,.wmz, *.svgz) до растер отрат

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

Изтеглете броя на бит-на-пиксел, специфичен за изображенията на растер, като този параметърне се прилага за векторни изображения. бързо установяване на пикселната дълбочина на растеризображения за точен анализ и манипулация, осигуряване на точна обработкаот данните на изображението.

public override int BitsPerPixel { get; }

стойност на имота

int

Exceptions

NotImplementedException

Инвалидни за векторни изображения.

FileFormat

Достъп до стойността на формата на файла, свързана с обекта.формат на файла, свързан с обекта за усъвършенствана обработка иПроверка на съвместимостта. опростяване на работния поток, като се възстанови формат на файлаИнформация с лекота.

public override FileFormat FileFormat { get; }

стойност на имота

FileFormat

Header

Възстановяване или модифициране на EMF метафил заглавието с тази собственост.Управление на метафилните данни ефективно в приложението Ви. Подобряване на работния потокс ускорен достъп до метафилна информация за заглавието.

public EmfMetafileHeader Header { get; set; }

стойност на имота

EmfMetafileHeader

Височината

Поддържайте височината на изображението, като улеснявате точния rendering и настройките на оформлението.Достъпът до височината осигурява съвместимост и безпристрастна интеграция междуРазлични платформи и приложения.

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(Изолация, Bool)

Поставете палетата на изображението.

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

Палетата трябва да бъде поставена.

updateColors bool

ако сте зададени на “истински” цветове ще бъдат актуализирани в съответствие с новата палета; в противен случай индексите на цветовете остават непроменени.

Exceptions

NotImplementedException

 Български