Class WmfImage

Class WmfImage

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

Манипулирайте изображенията на Microsoft Windows Metafile (WMF) с нашия API, безпроблемнообработване на както векторни, така и битмапи данни, съхранявани в записи с променлива дължина.Презареждайте, ротирайте и флипвайте изображения лесно, докато задавате персонализирани палети за изображение.Конвертирайте WMF файлове в компресирани формати или ги съхранявате във формат на изображение на растерза многообразна употреба на платформи и приложения.

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

Следващия пример показва как да конвертирате компресирани изображения (на 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});
                                                                                                                    }
                                                                                                                }

Този пример показва как да изтеглите изображение 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.MfImage, като я стартирате запо-нататъшно манипулиране и обработка на данните за изображенията на Windows Metafile (WMF).конструктор осигурява основен обект за работа с изображения на WMF, което позволявабезпроблемна интеграция на възможностите за управление на изображенията на WMF в приложението вии функционалността.

[JsonConstructor]
public WmfImage()

WmfImage(в, в)

Инсталирайте нова инстанция на класата Aspose.Imaging.FileFormats.Wmf.Ширина и височина параметри, улесняване на създаването на бяла 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.data StreamContainer. Използвайте товаМетод за оптимизиране на производителността и минимално използване на ресурсите в приложениеточрез съхранение и достъп до локалната кеша на данни.

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 или манипулация.

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

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

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

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

updateColors bool

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

Exceptions

NotImplementedException

 Български