Class WmfImage

Class WmfImage

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

Manipulovat snímky Microsoft Windows Metafile (WMF) s naším API, bezohlednězpracování jak vektorových, tak bitmapových dat uložených v souborech s variabilní délkou.Obnovte, otočte a flip obrázky snadno při nastavení přizpůsobených obrazových palet.Konvertovat WMF soubory do komprimovaných formátů WMZ nebo je uložit ve formátech raster obrázkůpro všestranné používání na platformách a aplikacích.

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

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage WmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

Dědiční členové

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

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

Následující příklad ukazuje, jak převést obrázek wmf na wmz odat

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

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 obrázek WMF z souboru a převést ho na SVG pomocí 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()

Vytvořte nový příklad třídy Aspose.Imaging.FileFormats.Wmf.WmfImage a začněte jejdalší manipulace a zpracování obrazových dat Windows Metafile (WMF).konstruktor poskytuje základní objekt pro práci s obrázky WMF, umožňujícíBezproblémová integrace schopností zpracování obrazu WMF do vaší aplikacea funkčnost.

[JsonConstructor]
public WmfImage()

WmfImage(a int, int)

Instantujte nový příklad třídy Aspose.Imaging.FileFormats.Wmf.WmfImage s přizpůsobitelnýmparametry šířky a výšky, které usnadňují tvorbu bílých obrazů WMFPřizpůsobte se specifickým rozměrům. Použijte tento konstruktor k dynamickémuWMF snímky s přesnými rozměry, které umožňují flexibilní tvorbu obrázků aManipulace v rámci vaší aplikace.

public WmfImage(int width, int height)

Parameters

width int

A šířka.

height int

na výšku.

Properties

BitsPerPixel

Zbavte se počtu bitů na pixel pro obrázek, což naznačuje úroveň barvyhloubka nebo granulace. Použijte tuto vlastnost k určení barvy obrazureprezentace a přesnost, které usnadňují kontroly kompatibility a barevné kontrolyzpracování v rámci vaší žádosti.

[JsonIgnore]
public override int BitsPerPixel { get; }

Hodnota nemovitosti

int

Exceptions

NotImplementedException

FileFormat

Přístup k hodnotě formátu souboru spojené s obrázkem, poskytuje informaceo formátu, ve kterém je obrázek uložen. Použijte tuto vlastnost k určeníformát souboru obrazu, který usnadňuje ověření kompatibility aFormátové zpracování ve vaší aplikaci.

public override FileFormat FileFormat { get; }

Hodnota nemovitosti

FileFormat

FrameBounds

Přístup k hranicím rámu, které naznačují jeho polohu a rozměry v rámciimage.Užívejte tuto vlastnost k získání podrobných informací o rámuprostorové umístění, které umožňuje přesnou manipulaci a renderování v rámci vaší aplikace.

public Rectangle FrameBounds { get; }

Hodnota nemovitosti

Rectangle

VysokýF

Přístup k výšce obrazu, který představuje počet pixelů po jeho vertikálníPoužijte tuto vlastnost, abyste zjistili prostorové rozměry a aspekt obrazupoměr, který umožňuje přesné uspořádání a provádění úprav v rámci aplikace.

public override float HeightF { get; }

Hodnota nemovitosti

float

Exceptions

NotImplementedException

Inch

Přístup nebo změna vlastnosti palce, což představuje jednotku měření typickyPoužívá se k určení fyzických rozměrů v tiskových nebo zobrazených kontextech.majetek pro stanovení nebo získání hodnot palce souvisejících s obrazem,Umožňuje přesnou reprezentaci fyzických rozměrů v rámci vaší aplikace.

public int Inch { get; set; }

Hodnota nemovitosti

int

IsCached

Obnovte booleánovou hodnotu, která naznačuje, zda jsou údaje objektu v současné době kryt,odstranění potřeby dodatečných operací pro čtení dat. Použijte tento majetekoptimalizovat výkon tím, že určí, zda jsou údaje objektu snadno dostupnébez nutnosti nákladných procesů získávání údajů v rámci vaší žádosti.

public override bool IsCached { get; }

Hodnota nemovitosti

bool

Exceptions

NotImplementedException

WidthF

Přístup k šířce obrazu, který naznačuje počet pixelů po jehoPoužijte tuto vlastnost k určení prostorových rozměrů obrazua aspektní poměr, který umožňuje přesné uspořádání a provádění úprav v rámci vašehoAplikace.

public override float WidthF { get; }

Hodnota nemovitosti

float

Exceptions

NotImplementedException

Methods

AddRecord(WmfObject)

Vložte specifikovaný záznamový objekt do obrazu, obohacením jeho obsahu sdalší data nebo metadata. Použijte tuto metodu k bezproblémové integraci záznamůObjekty do obrazu, které usnadňují komplexní ukládání a organizaci datv rámci vaší žádosti.

public int AddRecord(WmfObject record)

Parameters

record WmfObject

To je rekord.

Returns

int

Počet záznam.

CacheData()

Účinně ukládat data, eliminovat potřebu dodatečného nabití zpodklad Aspose.Imaging.DataStreamSupporter.DataStreamContainer. Použijte totoMetoda optimalizace výkonu a minimalizace využívání zdrojů ve vaší aplikaciukládáním a přístupem k místnímu datovému cache.

public override void CacheData()

Examples

Tento příklad ukazuje, jak nahrát obrázek WMF 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.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(Objekt[])

Obnovte výchozí možnosti spojené s obrázkem, které poskytují přístup kpředdefinované nastavení nebo konfigurace. Použijte tuto metodu k přístupu výchozím způsobemnastavení pro zpracování obrazu, usnadňující konzistenci a pohodlív rámci funkce vaší aplikace.

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.

GetPostScript()

Přístup k údajům PostScript souvisejícím s obrázkem, který poskytuje podrobné informaceinformace o jeho struktuře nebo obsahu. Použijte tuto metodu k získáníPostScript údaje pro další analýzu nebo zpracování v rámci vaší aplikace,Poskytování pokročilých funkcí souvisejících s renderováním nebo manipulací PostScript.

public string GetPostScript()

Returns

string

Post scénář

GetUsedFonts()

Obnovte seznam písmen používaných v metafýli, který poskytuje vhled dozdrojů fontů použitých ve snímku. Použijte tuto metodu k analýze používání fontůa zajistit dostupnost písma pro renderování nebo další zpracování v rámci vaší aplikace.

public override string[] GetUsedFonts()

Returns

string []a[]

Seznam fontů

ResizeCanvas(Rectangle)

Obnovte kanvas obrazu, upravte jeho rozměry při zachování obrazuPoužijte tuto metodu, abyste změnili velikost kanvasu bez změnyobsah, usnadňující úpravy uspořádání a změny složení v rámci vašehoAplikace.

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

Nový pravý úhel.

Exceptions

NotImplementedException

SetPalette(IkolorPalette, Boolová)

Na obrázek aplikujte specifikovanou paletu, což umožňuje přizpůsobení barvyVyužijte tuto metodu ke zlepšení vizuálního renderování aspecifické barevné účinky v rámci vaší aplikace.

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