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 в изящный изв

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

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.дальнейшее манипулирование и обработка данных изображения 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

Доступ к границам рамки, указывая ее положение и размеры в пределахИспользуйте эту собственность, чтобы получить подробную информацию о рамкепространственное местоположение, позволяющее точное манипулирование и rendering внутри вашего приложения.

public Rectangle FrameBounds { get; }

Стоимость недвижимости

Rectangle

ВысотаF

Доступ к высоте изображения, представляя количество пикселей вдоль вертикальнойИспользуйте это свойство, чтобы определить пространственные измерения и аспект изображения.соотношение, позволяющее точное расположение и выполнение корректиров в пределах вашего приложения.

public override float HeightF { get; }

Стоимость недвижимости

float

Exceptions

NotImplementedException

Inch

Доступ или изменение свойства инча, представляя единицу измерения, как правило,используется для определения физических измерений в печатных или отображаемых контекстах.имущество для установления или получения ценностей дюймов, связанных с изображением,упрощение точного представления физических измерений в вашем приложении.

public int Inch { get; set; }

Стоимость недвижимости

int

IsCached

Получить булеанную стоимость, указывающую на то, являются ли данные объекта в настоящее время скрытыми,устранение необходимости дополнительных операций по чтению данных.Используйте эту собственностьоптимизировать производительность путем определения того, доступны ли данные объектабез необходимости дорогостоящих процессов получения данных в рамках вашей заявки.

public override bool IsCached { get; }

Стоимость недвижимости

bool

Exceptions

NotImplementedException

ВВДФ

Доступ к ширине изображения, указывая количество пикселей вдоль егогоризонтальная оси. Используйте это свойство для определения пространственных измерений изображенияи аспектный соотношение, позволяющий точное расположение и rendering корректировки в пределах вашегоПрименение .

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.

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

 Русский