Class EmfImage

Class EmfImage

Název místa: Aspose.Imaging.FileFormats.Emf Shromáždění: Aspose.Imaging.dll (25.4.0)

API pro podporu vektorového formátu obrazu s vylepšeným formátem metafilu (EMF)komplexní nástroj pro zpracování grafických snímků v nezávislém zařízenízpůsoby při zachování jejich původních vlastností. vyvinutý k zachováníproporce, rozměry, barvy a další grafické atributy, zahrnujeEMF Plus formátová podpora a funkce pro hospodářské oblasti, resing kanvasa snímky, otáčení, flipping, nastavení obrazových palet, export a importdo kontextu zařízení APS, komprese a konverze EMF do jiných formátů, zajišťujícívšestranná manipulace a bezproblémová integrace obrazů EMF v aplikacích.

[JsonObject(MemberSerialization.OptIn)]
public sealed class EmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage EmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

Dědiční členové

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

Následující příklad ukazuje, jak převést obrázek emz na 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});
                                                                                }

Následující příklad ukazuje, jak převést obrázek emf na 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});
                                                                                }

Následující příklad ukazuje, jak převést komprimované obrázky (.a EMZ,.wmz, *.svgz) k rastu

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

Tento příklad ukazuje, jak nahrát EMF obrázek z souboru a převést ho na SVG pomocí 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()

Začněte pracovat s snímky EMF iniciováním nové instanceAspose.Imaging.FileFormats.Emf.EmfImage třída. Ideální pro rychlé začlenění EMF obrázků doVaše projekty s jednoduchostí a efektivitou.

[JsonConstructor]
public EmfImage()

EmfImage(a int, int)

Vytvořte nový příklad třídy Aspose.Imaging.FileFormats.Emf.EmfImage tím, že specifikujete šířkua výška parametrů. Tento konstruktor zjednodušuje proces iniciováníEMF snímky s specifickými rozměry, které zvyšují efektivitu vašeho vývojepracovního toku.

public EmfImage(int width, int height)

Parameters

width int

A šířka.

height int

na výšku.

Properties

BitsPerPixel

Zbavte se počtu bitů na pixel specifické k raster obrázky, protože tento parametrneplatí pro vektorové obrázky. rychle zjistit hloubku pixelů rastusnímky pro přesnou analýzu a manipulaci, zajistit přesnou manipulaciData z obrazu.

public override int BitsPerPixel { get; }

Hodnota nemovitosti

int

Exceptions

NotImplementedException

Invalidní pro vektorové snímky.

FileFormat

Připojte se k hodnotě formátu souboru spojené s objektem.formát souboru spojený s předmětem pro zjednodušené zpracování azjednodušení pracovního toku tím, že získá formát souboruInformace s lehkost.

public override FileFormat FileFormat { get; }

Hodnota nemovitosti

FileFormat

Header

Obnovte nebo upravte záznam hlavy metafylu EMF s touto vlastností.efektivně spravovat metafyzické údaje v rámci vaší aplikace. zlepšit pracovní toks zjednodušeným přístupem k informacím o metafyzických titulcích.

public EmfMetafileHeader Header { get; set; }

Hodnota nemovitosti

EmfMetafileHeader

VysokýF

Obnovte výšku obrazu, což usnadňuje přesné úpravy renderování a uspořádán.Přístup k vlastnosti výšky zajišťuje kompatibilitu a bezdrátovou integraci mezirůzné platformy a aplikace.

public override float HeightF { get; }

Hodnota nemovitosti

float

IsCached

Přístup k hodnotě, která naznačuje, zda jsou data objektu v současné době kryt,odstranění potřeby dodatečného čtení dat. Zvýšení účinnosti rychlezjistit, zda jsou k dispozici kryté údaje pro okamžitý přístup.Pracovní tok se zjednodušenými procesy získávání dat.

public override bool IsCached { get; }

Hodnota nemovitosti

bool

Records

Obnovte nebo upravte záznamy související s objektem.správu shromažďování záznamů pro zlepšenou manipulaci a zpracování dat.Optimalizujte tok práce tím, že se bezproblémově interagujete s záznamy objektu.

public override MetaObjectList Records { get; set; }

Hodnota nemovitosti

MetaObjectList

WidthF

Přístup k šířce obrazu, který poskytuje důležité informace pro přesnostrenderování a zpracování. rychle získat šířku obrazu, aby se zajistila kompatibilitaa správné uspořádání v různých aplikacích a platformách.

public override float WidthF { get; }

Hodnota nemovitosti

float

Methods

CacheData()

Účinně cache data a zabránit redundantní nabití z podkladovýchAspose.Imaging.DataStreamSupporter.DataStreamContainer s touto metodou.výkonnost a zjednodušení přístupu k datům ve vaší aplikaci, optimalizace zdrojůPoužití pro zvýšenou odpovědnost.

public override void CacheData()

Examples

Tento příklad ukazuje, jak nahrát EMF obrázek z souboru a seznam všech jeho záznam.

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(Objekt[])

Obnovte výchozí možnosti pro váš obrázek bez námahy. s touto funkcíumožňuje rychlý přístup k předem nastaveným konfiguracím, zajišťuje bezproblémovou integraci aoptimální výkon pro vaše projekty. ideální pro zjednodušení vašeho pracovního toku aDosáhnout konzistentních výsledků přes vaše obrazy.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object []a[]

a argumenty.

Returns

ImageOptionsBase

Defaultní možnosti

GetOriginalOptions()

Získejte originální možnosti obrazu.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Originální možnosti obrazu.

GetUsedFonts()

Obnovte seznam písmen používaných v metafýli pomocí této metody.znalosti o používání písma, usnadnění efektivního řízení a optimalizace písmaprostředky pro zvýšené renderování a věrnost zobrazen.

public override string[] GetUsedFonts()

Returns

string []a[]

Seznam fontů

ResizeCanvas(Rectangle)

Použijte tuto funkci snadno a dokonale na úpravu celkovéhorozměry obrazu bez změny jeho obsahu.Zlepšení prezentace aPřipravte obrázky pro různé rozměry displeje bez námahy.

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

Nový pravý úhel.

SetPalette(IkolorPalette, Boolová)

Vytvořte paletu obrazu.

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

Paleta je na nastaven.

updateColors bool

pokud je nastaven na “skutečné” barvy budou aktualizovány podle nové palety; jinak barevné indexy zůstávají nezměněny.

Exceptions

NotImplementedException

 Čeština