Class EmfImage

Class EmfImage

Названий на: Aspose.Imaging.FileFormats.Emf Асамблея: Aspose.Imaging.dll (25.4.0)

Підтримка API для розширеного метафілового формату (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

Відновлюйте кількість bit-per-pixel конкретно для зображень растер, оскільки цей параметрне застосовується до вікторних зображень. швидко визначити піксельну глибину растерзображення для точного аналізу та маніпуляції, забезпечуючи точне обробказ даних зображення.

public override int BitsPerPixel { get; }

вартість нерухомості

int

Exceptions

NotImplementedException

Використання вікторних зображень.

FileFormat

Доступ до значення формату файлу, пов’язаного з об’єктом.формат файлу, пов’язаний з об’єктом для стримування обробки таПеревірки сумісності. спростити робочий потік, отримуючи формат файлуІнформація з легкістю.

public override FileFormat FileFormat { get; }

вартість нерухомості

FileFormat

Header

Відновлюйте або модифікуйте запис метафільних заголовків EMF з цією власністю.Управління метафільними даними ефективно в межах вашої програми. поліпшити робочий потікЗабезпечити доступ до інформації метафільних заголовків.

public EmfMetafileHeader Header { get; set; }

вартість нерухомості

EmfMetafileHeader

Високість

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

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(Ікольор Палет, Боол)

Складіть палету зображення.

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

Палетка для встановлення.

updateColors bool

Якщо налаштуватися на «правдиві» кольори будуть оновлені відповідно до нової палети; в іншому випадку кольорові індекси залишаються незмінними.

Exceptions

NotImplementedException

 Українська